6

所以我终于让我的 Django 安装成功运行了 nginx + uWSGI

但是我现在遇到的问题是当我对代码进行更改时,我需要重新启动 uWSGI 进程以查看我的更改

我觉得我在这里运行了正确的命令(顺便说一句,我对 linux 也很陌生):

uwsgi --stop /var/run/uwsgi.pid
uwsgi --reload /var/run/uwsgi.pid

运行这些命令时我没有收到任何错误但是我的旧代码仍然是加载的

我也知道这不是编码问题,因为我在其开发服务器中运行了我的 django 应用程序并且一切运行良好

4

1 回答 1

4

信号重新加载应用程序数据的推荐方法是使用该--touch-reload选项。.ini 罚款的示例语法是:

touch-reload /var/run/uwsgi/app/myapp/reload

myapp您的应用程序名称在哪里。/var/run/uwsgi/app是此类文件的推荐位置(可以在任何地方)。该reload文件是一个空文件,其时间戳由 uwsgi 监视,只要它发生变化(例如,通过 using touch),uWSGI 就会检测到该变化并重新启动相应的 uWSGI 应用程序实例。

因此,每当您更新代码时,您都应该触摸文件以更新应用程序的内存版本。例如,在 bash 上:

sudo touch /var/run/uwsgi/app/myapp/reload

Note--reload是当前 uWSGI 版本上的一个未记录的选项。

于 2013-07-14T22:59:56.250 回答