nginx.service的作业失败,因为超过了超时

时间:2019-11-24 19:53:31

标签: ubuntu nginx systemd

我使用RTMP作为outlined here进行了nginx的自定义构建。

我按照nginx website的建议使用以下设置创建了etc/systemd/system/nginx.service,并对其自定义生成位置进行了少许编辑。

[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/run/nginx.pid
ExecStartPre=/home/ubuntu/nginx_working/nginx-1.14.0/objs/nginx -t
ExecStart=/home/ubuntu/nginx_working/nginx-1.14.0/objs/nginx
ExecReload=/home/ubuntu/nginx_working/nginx-1.14.0/objs/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
User=root
PrivateTmp=true
TimeoutStartSec=0

[Install]
WantedBy=multi-user.target

如果我只是从终端启动nginx,nginx可以正常工作。

使用诸如systemctl start nginx之类的systemd,终端挂起了一段时间,在此期间nginx正常工作,但是大约30秒后,我得到了Job for nginx.service failed because a timeout was exceeded.

此超时是错误的,因为在这30天内nginx运行得很好。我不确定为什么无法检测到nginx已启动?

1 个答案:

答案 0 :(得分:0)

自己找到解决方案。 由于某些原因,发生以下错误Can't open PID file /run/nginx.pid

AskUbuntu中所述,解决方案是将我的PID在配置中移动到日志位置/usr/local/nginx/logs