Django - 如何在 Ubuntu 16.04 中重新加载 uwsgi
Django - How to reload uwsgi in Ubuntu 16.04
我在 Ubuntu 16.04 中有一个带有 uWSGI 的项目 运行。有时我不想使用重启命令,只想在有更改时重新加载项目。
我还在用ubuntu14.04的时候,用下面的命令就可以了
重新加载:
sudo reload projectname
重启
sudo restart projectname
现在当我尝试在 Ubuntu 16.04
中重新启动时
sudo systemctl restart uwsgi
当我尝试使用此命令重新加载时
sudo systemctl reload uwsgi
这是错误信息
Failed to reload uwsgi.service: Job type reload is not applicable for unit uwsgi.service.
错误消息的屏幕截图。
看来您正在 运行在 Emperor 模式下使用 uwsgi。
这意味着 emperor 进程正在管理它的 vassal(实际的 uwsgi 进程 运行 你的 Django 应用程序)并且它在它的 systemd 单元中根本没有重新加载作业。
相反,您应该尝试只触摸应用程序的 .ini
文件。
touch path/to/payroll.ini
下面是一些关于 Uwsgi、systemd 和 Emperor 模式的资源
我在 Ubuntu 16.04 中有一个带有 uWSGI 的项目 运行。有时我不想使用重启命令,只想在有更改时重新加载项目。
我还在用ubuntu14.04的时候,用下面的命令就可以了
重新加载:
sudo reload projectname
重启
sudo restart projectname
现在当我尝试在 Ubuntu 16.04
中重新启动时sudo systemctl restart uwsgi
当我尝试使用此命令重新加载时
sudo systemctl reload uwsgi
这是错误信息
Failed to reload uwsgi.service: Job type reload is not applicable for unit uwsgi.service.
错误消息的屏幕截图。
看来您正在 运行在 Emperor 模式下使用 uwsgi。
这意味着 emperor 进程正在管理它的 vassal(实际的 uwsgi 进程 运行 你的 Django 应用程序)并且它在它的 systemd 单元中根本没有重新加载作业。
相反,您应该尝试只触摸应用程序的 .ini
文件。
touch path/to/payroll.ini
下面是一些关于 Uwsgi、systemd 和 Emperor 模式的资源