【发布时间】:2016-06-07 19:23:17
【问题描述】:
我正在尝试专门使用 nginx、uwsgi 和 python 开发一个全新的网站。问题是,如果我更改 uwsgi 指向的文件,并刷新页面,我会得到以前版本的文件生成的 HTML。似乎 nginx、uwsgi 或两者都在缓存我网站的代码和/或响应。我一直在阅读 uwsgi 缓存,但无法使用 --cache2 标志和 --cache_* 标志禁用缓存。我找到了this other question,也尝试使用
proxy_no_cache "1";
proxy_cache_bypass "1";
在服务器的位置字典中(位于 /etc/nginx/sites-available/mysite),但是它仍然缓存页面。我过去在 nginx 和 uwsgi 中使用过 web2py,当我更新控制器或视图时,它似乎没有这个问题。
这是我的网站文件:
server {
listen 80 default_server;
listen [::]:80 default_server;
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
include snippets/snakeoil.conf;
server_name _;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:3031;
}
}
这是 init.d 脚本使用的执行程序:
uwsgi --master --processes 4 --threads 2 --die-on-term -s /tmp/mysock.sock --socket :3031 --uid www-data --gid www-data --vacuum --wsgi-file /path/to/my/python/file.py
这是加载的python文件:
def application(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/html')])
return ["<h1>Hello World</h1>"]
我知道缓存可以提高性能,所以我打算在生产环境中重新打开它,但是在打开它的情况下进行开发是一件很痛苦的事情......我做错了什么?
我现在唯一的解决方法是每次进行更改时重新启动 uwsgi 服务:(
【问题讨论】:
标签: python caching nginx uwsgi