FEHLER : ungültige PID-Nummer "" in "/run/nginx.pid"
Meine nginx nicht gestartet werden auf port 80.
Habe ich die folgenden Angaben:
$ nginx -s reload
2016/03/23 16:11:27 [error] 24992#0: invalid PID number "" in "/run/nginx.pid"
$ ps -ef | grep nginx
root 25057 2840 0 16:16 pts/1 00:00:00 grep --color=auto nginx
$ kill -9 25057
bash: kill: (25057) - No such process
$ service nginx start
Nothing..
Bitte geben Sie Lösung.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen zu laufen
nginx -s reload
ohne ersten starten von nginx, führt zu einem Fehler, weil nginx wird suchen Sie nach der Datei mit dem master-pid, wenn Sie sagen, es neu zu starten. In Ihrem Fall scheint es, dass nginx nicht in Betrieb war, so dass die Datei mit dieser id existiert nicht.Durch ausführen
kill -9 25057
Sie versucht zu töten Ihre eigenen Befehlps -ef | grep nginx
die nicht mehr existierte, so hast du "No such process".Stellen Sie sicher, dass alles gut ist, würde ich aufhören nginx mit
nginx -s stop
dann starten Sie es mitnginx
gefolgt vonnginx -s reload
zu überprüfen, dass alles gut ist. In jedem Fall ist die Protokolldatei könnte Ihnen sagen, wenn etwas schlimmes Los ist/var/log/nginx/error.log
.Wenn das funktioniert, können Sie versuchen, Zugriff auf http://localhost:80 oder wie immer Sie es konfiguriert haben, nginx, und auch befolgen Sie die Fehler-log und access log
/var/log/nginx/error.log
Nebenbei: Wenn dies durch Zufall geschieht, ein Fall, wo nginx neu geladen wird, die von einigen anderen Tools, wie confd, Sie sollten auch prüfen, ob nginx tatsächlich speichert es die pid in
/run/nginx.pid
im Gegensatz zu/var/run/nginx/nginx.pid
.Let ' s talk über das, was wir hier zuerst:
Es ist wahrscheinlich, weil die
/run/nginx.pid
Datei ist leer, das führt zu Problemen mit stop|start|restart-Befehle, so dass Sie haben, um es zu Bearbeiten mit sudo und dort PID Ihres aktuellen läuft der nginx-Dienst (master-Prozess). Lassen Sie uns nun einen Blick auf die nächsten Zeilen, die mit verbunden.Versuchst du hier zu töten, NICHT zu den wichtigsten Prozess des nginx. Versuchen Sie zunächst, führen Sie den folgenden Befehl, um die pids von einem nginx master-Prozess und seine Arbeiter:
Nächsten, tötet beide:
und dann versuchen, führen Sie ein nginx wieder.
Haben nichts zu sagen 😉
Zusammenfassung:
Ich denke, die Bearbeitung der
/run/nginx.pid
- Datei mit einem nginx-master-Prozess die PID sollte das Problem beheben. Also laut meinem Beispiel oben, diese Datei sollte etwa so Aussehen:Hoffe, das hilft!
ps -aux | grep "nginx"
. Auch Ihre Letzte Bemerkung gab mir ein lachen. Manchmal ist nichts, was Sie sehen wollen.