Hier Teil meines nginx.conf
ist:Ich verlor nginx.pid, verschwand es
pid /www/nginx0836/nginx.pid;
Während ich nginx neu starten, in einigen Sekunden Ich betreibe ls /www/nginx0836
und listet nginx.pid
. Aber nach einigen Sekunden, ls /www/nginx0836
wieder ausgeführt wird nginx.pid
nicht aufgeführt. Warum? By the way, funktioniert nginx Server gut und wenn ich
ps -ef | grep "nginx: master process" | grep -v "grep" | awk -F ' ' '{print $2}'
laufen dann kann ich nginx pid sehen.
Ich habe genau das gleiche Problem auf einer Centos-Box mit nginx/1.0.9. – niwo
Verwenden Sie wirklich /www/nginx0836/nginx.pid, oder ist es tatsächlich irgendwo unter/var? CentOS "helpfully" räumt einige Verzeichnisse unter/var in Intervallen auf (/ var/run kommt mir in den Sinn) und das könnte dich beißen. –
Versuchen Sie strace auf dem gestarteten NGinx-Prozess auszuführen. Sie können das Strce-Protokoll z./tmp und gehen Sie danach durch, um zu sehen, was auf Nginx weise passiert (wenn das tatsächlich von nginx kommt). Wenn nicht, hast du etwas von außen, das deine pid-Datei manipuliert. –