所以我终于让我的Django安装成功运行了nginx + uWSGI
但是我现在遇到的问题是当我更改代码时需要重新启动uWSGI进程来查看我的更改
我觉得我在这里运行正确的命令(我对linux也很新)以及:
uwsgi --stop /var/run/uwsgi.pid
uwsgi --reload /var/run/uwsgi.pid
当我运行这些命令时,我没有收到任何错误,但我的旧代码仍然是加载
我也知道它不是编码问题,因为我在其开发服务器上运行了我的django应用程序,一切运行良好
答案 0 :(得分:4)
建议的重新加载应用程序数据的方法是使用--touch-reload
选项。 .ini罚款的示例语法是:
touch-reload /var/run/uwsgi/app/myapp/reload
myapp
是您的应用程序名称。 /var/run/uwsgi/app
是此类文件的推荐位置(可以是任何位置)。 reload
文件是一个空文件,其时间戳由uwsgi监视,每当它发生更改时(例如,使用touch
)uWSGI检测到更改并重新启动相应的uWSGI应用程序实例。
因此,每当您更新代码时,都应触摸该文件以更新应用程序的内存中版本。例如,在bash上:
sudo touch /var/run/uwsgi/app/myapp/reload
注意--reload
是当前uWSGI版本的未记录选项。