这是 uwsgi 配置:
[uwsgi]
uid = 500
listen=200
master = true
profiler = true
processes = 8
logdate = true
socket = 127.0.0.1:8000
module = www.wsgi
pythonpath = /root/www/
pythonpath = /root/www/www
pidfile = /root/www/www.pid
daemonize = /root/www/www.log
enable-threads = true
memory-report = true
limit-as = 6048
这是 Nginx 配置:
server{
listen 80;
server_name 119.254.35.221;
location / {
uwsgi_pass 127.0.0.1:8000;
include uwsgi_params;
}
}
django 工作正常,但除非我重新启动 uwsgi,否则无法看到修改后的页面。(而且,当我配置 8 个工作进程时,当我按 ctrl+f5 一会儿时,我可以看到修改后的页面,似乎只有某些工作人员可以读取和响应修改后的页面,但其他人只显示旧页面,谁缓存旧页面?我没有配置任何关于缓存的内容)
我没有配置 django,它与“python manager runserver ...”配合使用效果很好,但在使用 nginx+uwsgi 时遇到了这个问题。
(nginx 和 uwsgi 都是新安装的,我确定这里没有配置其他任何东西..)
最佳答案
- uwsgi 不会自动重新加载您的代码,只有开发服务器会自动加载
- runserver 用于调试目的,uwsgi 和 nginx 用于生产
- 在生产环境中,您可以通过
service uwsgi restart
或通过 init.d 脚本重新启动 uwsgi - 使用touch-reload 可以更好地重新加载uwsg。
通常不需要清理 .pyc
文件,只有当文件上的时间戳错误时才会发生(我在整个 carieer 只见过几次)
关于python - nginx+uwsgi+django,uwsgi中好像有什么奇怪的缓存,帮帮我,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12625050/