这里是我的nginx.conf
的一部分:我失去了nginx.pid,就消失
pid /www/nginx0836/nginx.pid;
虽然我重启nginx的,在几秒钟内我跑ls /www/nginx0836
并列出nginx.pid
。 但几秒后,再次运行ls /www/nginx0836
,未列出nginx.pid
。 为什么? 顺便说一句,nginx的服务器工作正常,当我运行
ps -ef | grep "nginx: master process" | grep -v "grep" | awk -F ' ' '{print $2}'
然后我可以看到nginx的PID。
我在使用nginx/1.0.9的Centos Box上有完全相同的问题。 – niwo 2011-12-02 16:05:55
你真的在使用/www/nginx0836/nginx.pid,还是实际上在/ var下的某处? CentOS“有用地”每隔一段时间清理一下/ var下的一些目录(/ var/run想起来),这可能就是你咬人的东西。 – 2012-06-27 21:26:06
尝试在启动的NGinx进程上运行strace。您可以输出strace日志到例如/ tmp,然后继续查看Nginx明智之举(如果这实际上来自nginx)。如果没有,那么你从外面篡改你的PID文件。 – 2013-05-11 22:51:47