根据UNIX-Socket将UWSGI连接到flask应用程序:
NGINX(侦听端口80)<-> UWSGI(每个UNIX侦听器侦听器)<-> FLASK-APP
我已经启动了uwsgi缓存来处理全局数据。 我想使用python包flask-caching处理缓存。
我正在尝试使用正确的缓存地址初始化Cache-instance。似乎有问题。 我认为app.run()的参数与uwsgi不相关。
如果我要设置一个缓存条目,它将始终返回None:
app.route("/")
def test():
cache.set("test", "OK", timeout=0)
a = cache.get("test")
return a
main.py
from flask import Flask
from flask_caching import Cache
app = Flask(__name__)
# Check Configuring Flask-Caching section for more details
cache = Cache(app, config={'CACHE_TYPE': 'uwsgi', 'CACHE_UWSGI_NAME':'mycache@localhost'})
if __name__ == "__main__":
app.run(host="0.0.0.0", port=5000)
uwsgi.ini
[uwsgi]
module = main
callable = app
cache2 = name=mycache,items=100
nginx.conf
server {
listen 80;
location / {
try_files $uri @app;
}
location @app {
include uwsgi_params;
uwsgi_pass unix:///tmp/uwsgi.sock;
}
location /static {
alias /app/testapp/static;
}
}
我正在使用https://github.com/tiangolo/uwsgi-nginx-flask-docker中的docker build。该应用程序正在运行,需要缓存。