python - nginx+uwsgi+django,uwsgi中好像有什么奇怪的缓存,帮帮我

标签 python django nginx uwsgi

这是 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/

相关文章:

linux - 即使我可以 ping 通,也无法在 Docker 中 curl 链接的容器

javascript - 由于预检响应中存在 Access-Control-Allow-Methods,无法发送 PUT 请求

python - pickle `persistent_id` 的替代品?

python - 与 sys.getsizeof() 的结果相比,整数的大内存占用

python - 如何使用 brew 安装的 Python 作为默认 Python?

Django 预填表格

django - 如何从 Django 中的请求对象获取 URI?

linux - 如何在 nginx.conf 中将 GitLab 配置为子域

ubuntu - Nginx 在 Ubuntu 上返回 404?

python - tensorflow 中的成对求和