我试图在机器启动时启动 Gunicorn,但是当我在启用并启动服务后检查服务的状态时,出现启动错误start-limit-hit
。我已经尝试sudo systemctl restart ssh
按照建议使用如何解决服务启动限制命中问题。这是我的.service
文件:
[Unit]
Requires=myproject.socket
After = network.target
[Service]
Restart=always
User=ubuntu
WorkingDirectory=/home/ubuntu/myproject
ExecStart=/home/ubuntu/myproject/venv36/bin/gunicorn -w 1 -b 0.0.0.0:8080 wsgi:$
Type=simple
[Install]
WantedBy=multi-user.target
我的.socket
文件:
[Socket]
ListenStream=/run/myproject/socket
[Install]
WantedBy=sockets.target
答案1
您有Restart=always
和 a ,Type
因此simple
,如果 中指定的程序ExecStart
是派生另一个进程并退出的守护进程,您的应用程序将被视为不活动 -> 它将重新启动,直到达到限制。
您应该传递一个参数以使程序保留在前台,或者将 更改Type
为forking
.之后运行systemctl reset-failed myproject
并启动它。