在编译nginx后,添加到systemctl中管理,启动nginx(systemctl start nginx.service),使用systemctl status nginx.service查看nginx状态,虽然正常启动了,但出现了PID file /usr/local/nginx/logs/nginx.pid not readable (yet?) after start.
经过查询,这似乎是systemd和nginx之间的竞赛。systemd希望在nginx有时间创建PID文件之前填充它,导致出现错误。
解决方法:
在/usr/lib/systemd/system/nginx.service中添加入下内容
ExecStartPost=/bin/sleep 0.1
执行命令:
systemctl daemon-reload
解决问题
参考:
https://bugs.launchpad.net/ubuntu/+source/nginx/+bug/1581864