在查看nginx服务状态时,容易碰上这个问题,它出现的原因是:nginx需要一点时间来完成启动,而systemd读取这个pid的时间快了一点,在nginx还没完成启动时就读这个文件。解决的办法是,多给100ms让它完成启动,这个可以在systemd的服务选项中配置。一般不需要改原来文件,可以用override.conf来添加这个启动后延时项。
注意,不同版本的nginx.service文件不一样,我们需要在该文件所在的目录上新建一个nginx.service.d文件夹,然后创建这个override.conf文件。
[Service] ExecStartPost=/bin/sleep 0.1
然后重启服务就可以了。
systemctl daemon-reload systemctl restart nginx.service