Warum empfängt Apache SIGTERM und stoppt einfach?

Warum empfängt Apache SIGTERM und stoppt einfach?

Ich habe einen Server, auf dem Nginx für statische Inhalte läuft, mit Apache dahinter, auf dem PHP- und Python-Code ausgeführt wird.

Ungefähr einmal am Tag wird Apache einfach beendet und Nginx meldet einen 502 Bad Gateway-Fehler. In den Protokollen kann ich nur finden, dass Apache SIGTERM empfangen hat, keine weiteren Details.

[mpm_prefork:notice] [pid 11811] AH00169: SIGTERM beim Herunterfahren abgefangen

Es läuft seit einiger Zeit einwandfrei, ohne dass Wartungsarbeiten erforderlich waren, abgesehen von zu wenig Speicherplatz. Ich habe vor ein paar Monaten einige SSL-Proxy-Konfigurationen vorgenommen. Debian Jessie wird ausgeführt

Antwort1

Verwenden Sie auditd, um alle Kill-Systemaufrufe -S kill in einer Datei audit.rules zu protokollieren. SieheWie verwende ich Audit, um einen bestimmten SYSCALL zu überwachen?. Die Protokolleinträge enthalten die PID, UID und EXE jedes Kills. Suchen Sie nach dem Eintrag direkt vor dem Herunterfahren von httpd.

Ich vermute, dass es sich hierbei um ein Protokollrotationsskript handelt, das nicht ordnungsgemäß neu gestartet wird.

Antwort2

gefangen SIGTERM

Das bedeutet, dass ein System einen Beendigungsbefehl an Apache sendet. Ich würde anfangen, nach Rogue-Cron-Jobs zu suchen, die Apache stoppen/neu starten, oder Ihre sarProtokolle durchsehen, um zu sehen, ob Sie Ressourcenprobleme haben. Wenn Sie Speicherprobleme haben, beendet der Server automatisch Prozesse, um am Leben zu bleiben. Apache ist normalerweise eines der Dinge, die bei Speicherproblemen auf diese Weise beendet werden.

verwandte Informationen