2010-10-11 9 views
9

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.

+0

Ich habe genau das gleiche Problem auf einer Centos-Box mit nginx/1.0.9. – niwo

+1

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. –

+0

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. –

Antwort

1

versuchen, Ordner mit incrond überwachen und Änderungen mit $ # $ @ auf diesem Verzeichnis protokollieren. möglicherweise werden Sie etwas wie Marionette oder ein rsync die PID-Datei löschen sehen.

/www/nginx0836 IN_DELETE echo "$# [email protected]" 

wird es melden Sie sich ein Lösch Ereignis auf Verzeichnis

einfacher als Audit ...

leider die schlechte Englisch

-2

Try Standardkonfiguration für nginx, werden Sie ähnliches Problem finden here

Verwandte Themen