Nginx

為什麼 Apache 收到 SIGTERM 並停止?

  • February 19, 2018

我有一個執行 nginx 的靜態內容伺服器,後面有 apache,執行 php 和 python 程式碼。

大約每天一次,Apache 剛剛退出,讓 Nginx 服務於 502 Bad Gateway 錯誤。我在日誌中只能找到 Apache 收到的 SIGTERM,沒有其他詳細資訊。

$$ mpm_prefork:notice $$ $$ pid 11811 $$AH00169:擷取 SIGTERM,正在關閉

它已經正常執行了一段時間,除了磁碟空間不足之外沒有任何維護。幾個月前我做了一些 SSL 代理配置。執行 Debian Jessie

使用 auditd 記錄所有的 kill 系統呼叫。 -S kill 在 audit.rules 文件中。請參閱如何使用審計來監控特定的 SYSCALL?. 日誌條目將包含每個 kill 的 pid、uid 和 exe,在 httpd 關閉之前找到那個。

我猜這是一個沒有正確重啟的日誌輪換腳本。

捕捉到 SIGTERM

這意味著系統正在向 Apache 發送終止命令。我會開始尋找停止/重新啟動 Apache 的 Rogue cron 作業,或者開始查看您的sar日誌以查看您是否有任何資源問題。當您遇到記憶體問題時,伺服器會自動終止程序以保持自身存活。Apache 通常是在記憶體問題中會像這樣被殺死的東西之一。

引用自:https://serverfault.com/questions/897687