这是uwsgi config:
[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都是新安装,我相信这里没有其他任何内容......)
答案 0 :(得分:5)
service uwsgi restart
或通过init.d脚本通常不需要清理.pyc
个文件,只有当文件上的时间戳错误时才会发生(我在整个carieer上只看过几次)
答案 1 :(得分:1)
这是正常行为。除非您重新启动代码,否则uwsgi
不会重新阅读您的代码(当runserver
}时,DEBUG=True
不会像*.pyc
那样有效。
如果您更新了代码后,重新启动了uwsgi,清除了浏览器缓存并且仍然没有反映您的更改,那么您应该从源目录中删除find . -name "*.pyc" -exec rm {} \;
个文件。
我通常使用它:
.pyc
粗略地说,{{1}}是代码的“已编译”版本。如果Python没有检测到源中的更改,Python将加载此优化版本。如果删除这些文件;然后它将重新读取你的源文件。