我想在我的 django 项目中使用 uwsgi
我测试usgi --ini uwsgi.ini
效果很好
我想写入来systemd
控制它
并面临错误
这是我的文件
/etc/systemd/system/mysite.service
[Unit]
Description=uWSGI for proj
After=syslog.target
[Service]
Restart=always
ExecStart=/usr/bin/uwsgi --ini /usr/share/nginx/ENV/proj/proj/uwsgi.ini
StandardError=syslog
KillSignal=SIGQUIT
Type=forking
NotifyAccess=main
[Install]
WantedBy=multi-user.target
我第一次使用systemctl restart mysite.service
它效果很好,然后我使用systemctl stop mysite.service
然后重新启动systemctl restart mysite.service
但停止后无法重新启动
我收到错误:
proj.service - uWSGI for proj
Loaded: loaded (/usr/lib/systemd/system/proj.service; disabled)
Active: failed (Result: start-limit) since Fri 2015-11-13 13:40:35 CST; 887ms ago
Process: 4297 ExecStart=/usr/bin/uwsgi --ini /usr/share/nginx/ENV/proj/proj/uwsgi.ini (code=exited, status=0/SUCCESS)
Main PID: 4298 (code=exited, status=0/SUCCESS)
Nov 13 13:40:35 localhost.localdomain systemd[1]: proj.service holdoff time over, scheduling restart.
Nov 13 13:40:35 localhost.localdomain systemd[1]: Stopping uWSGI for proj...
Nov 13 13:40:35 localhost.localdomain systemd[1]: Starting uWSGI for proj...
Nov 13 13:40:35 localhost.localdomain systemd[1]: proj.service start request repeated too quickly, refusing to start.
Nov 13 13:40:35 localhost.localdomain systemd[1]: Failed to start uWSGI for proj.
Nov 13 13:40:35 localhost.localdomain systemd[1]: Unit proj.service entered failed state.
[root@localhost ~]# vim /lib/systemd/system/proj.service
请帮我
谢谢
答案1
proj.service 启动请求重复得太快,拒绝启动。
此消息告诉您,您重新启动服务过于频繁,并且systemd
具有集成机制来检测它并在过多重新启动导致一些麻烦之前进行阻止。
有一些选项StartLimitInterval=
可以StartLimitBurst=
修改此行为。您可以阅读更多内容手册页。
对于这种情况,只需将它们添加到您的/etc/systemd/system/mysite.service
部分下[Unit]
。
答案2
类型=分叉 通知访问=主
这是另一个准备协议不匹配的情况。 doco 告诉您该程序使用 systemd 文本消息准备协议。
类型=通知 通知访问=全部
进一步阅读
- “系统”。uWSGI 2.0 文档。
- 乔纳森·德博因·波拉德 (2015)。Unix 守护进程的就绪协议问题。经常给出的答案。