我正在尝试按照本教程uWSGI
使用Django
和设置进行nginx
设置Ubuntu
16.04
。
一切正常,直到我尝试执行此命令的最后一步(哦,讽刺的是......):
sudo service uwsgi start
如果失败并出现以下错误:
启动 uwsgi.service 失败:未找到单元 uwsgi.service。
其他人似乎得到了类似的错误:
uwsgi.service 启动失败:单元 uwsgi.service 加载失败:没有这样的文件或目录。
该问题似乎与 Ubuntu 的版本有关。虽然该教程针对的是 Ubuntu 14.04,但它似乎不适用于较新的版本,因为在版本 15 中,Ubuntu 从upstart
init daemon 切换到了systemd
init daemon。
如何使用systemd
启动 uWSGI 使其与 nginx 和 Django 一起使用?
需要的第一个修改是
/etc/uwsgi/sites/firstsite.ini
文件。唯一需要的更改是将权限从664
to替换为666
。脚本如下所示:其次,当我们使用
systemd
而不是upstart
,以下文件不需要并且可以删除:/etc/init/uwsgi.conf
第三,我们在以下位置创建以下
systemd
脚本/etc/systemd/system/uwsgi.service
:使用板载这个新的 uWSGI 服务刷新 systemd 初始化系统的状态
为了启动脚本,您需要运行以下命令:
为了
uWSGI
在重新启动时开始,您还需要:您可以使用以下方法检查其状态:
一些进一步的细节可以在这里找到。
要解决该错误:加载
sudo systemctl daemon-reload
新创建的uwsgi.service文件。要在每次重新启动时启动服务:
sudo systemctl enable uwsgi
.