Auf die PID-Datei kann nach dem Update von Nginx nicht zugegriffen werden

Auf die PID-Datei kann nach dem Update von Nginx nicht zugegriffen werden

Nachdem ich die Version 0.7.x entfernt hatte, die in den Debian-Standardpaketen mitgeliefert wurde, habe ich die Version 1.4.1 von nginx aus dem Quellcode installiert.

Es ist möglich, Nginx zu starten, service nginx startund ich sehe, dass Nginx den Port 80 reserviert, wenn ich Netstat ausführe.

netstat -apn | grep nginxAusgabe:

tcp      0    0 0.0.0.0:80            0.0.0.0:*             LISTEN    3115/nginx 

Das Problem ist, wenn ich das tue service nginx statusoder service nginx stopdiese Meldung erhalte:

konnte nicht auf die PID-Datei für nginx zugreifen … fehlgeschlagen!

Wie kann ich das beheben? Und wie kann ich dieses Problem verhindern?

EDIT: Lösung

  1. remove nginx
  2. dann gehe zur Quelle und./configure --pid-path=/var/run/nginx.pid
  3. make
  4. checkinstall make install

Antwort1

Debian hat nginx wahrscheinlich für sein Paket so konfiguriert/gepatcht, dass die PID-Datei an einem bestimmten Ort abgelegt wird, was standardmäßig nicht der Fall ist. Wenn Sie es durch etwas ersetzt haben, das aus dem Quellcode kompiliert wurde, entspricht es nicht den Erwartungen der Service-Infrastruktur.

Ich würde mir ansehen, welche Patches und Konfigurationsoptionen von den Debian-Leuten vorgenommen wurden, und Ihre Version 1.4.x mit den Optionen zum Platzieren der PID-Datei an derselben Stelle neu kompilieren.

Wie kann man diese Art von Problem verhindern? Entweder man erledigt die Dinge über Pakete oder man kompiliert aus dem Quellcode, aber nicht beides. Oder man muss dabei besonders vorsichtig sein, da Dinge kaputt gehen.

verwandte Informationen