问题现象
nginx uwsgi django 部署的站点,如果修改了py 代码,需要重新启动 uwsgi 才会生效。
解决方法
如果有需要 Django 代码改动时立即生效,可以在启动 uwsgi 的 ini 的配置文件里加入参数
py-autoreload = 1
( 写在 ini 配置文件中,记得一定要 = 1,否则不生效),遇到仅有 HTML 文件修改不会重启(可以新建一个 commit.py 文件,如果只有 HTML 更新,修改 commit.py 的内容即可 )。
[uwsgi]
socket = 127.0.0.1:9090
# socket = 127.0.0.1:3031
stats = 127.0.0.1:9191
chdir = /root/yzq/djangos/blog
wsgi-file = /root/yzq/djangos/blog/joyoo/wsgi.py
# module = Joyo.settings
virtualenv = /root/.virtualenvs/blog
pidfile = /root/yzq/running/uwsgi_joyoo.pid
touch-reload = /root/yzq/running/uwsgi_joyoo.pid
buffer-size = 32768
processes = 1
workers= 2
# threads = 2
daemonize = /root/yzq/logs/uwsgi_joyoo.log
py-autoreload = 1 # 代码修改后自动重启
# py-auto-reload 、py-autoreload、python-auto-reload、python-autoreload 这四个参数配置的含义都是一样的,python 文件修改后重启 uwsgi
相关文档
uwsgi 查看 help 文档