Вот часть моего 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.
У меня точно такая же проблема на платформе Centos с использованием nginx/1.0.9. – niwo
Вы действительно используете /www/nginx0836/nginx.pid, или это действительно где-то под/var? CentOS «помогает» очищает некоторые каталоги под/var с интервалом (/ var/run приходит на ум), и это может быть то, что вас кусает. –
Попробуйте запустить strace на запущенном процессе NGinx. Вы можете вывести журнал strace, например,/tmp и пройдите дальше, чтобы узнать, что происходит с Nginx (если это действительно происходит от nginx). Если нет, то у вас есть что-то от внешнего вмешательства в ваш файл pid. –