![Apache が SIGTERM を受信すると停止するのはなぜですか?](https://rvso.com/image/717728/Apache%20%E3%81%8C%20SIGTERM%20%E3%82%92%E5%8F%97%E4%BF%A1%E3%81%99%E3%82%8B%E3%81%A8%E5%81%9C%E6%AD%A2%E3%81%99%E3%82%8B%E3%81%AE%E3%81%AF%E3%81%AA%E3%81%9C%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
静的コンテンツ用に nginx を実行するサーバーがあり、その背後には Apache があり、php と python コードを実行しています。
1 日に 1 回程度、Apache が終了し、Nginx が 502 Bad Gateway エラーを返すようになります。ログで確認できるのは、Apache が SIGTERM を受信したということだけで、その他の詳細はわかりません。
[mpm_prefork:notice] [pid 11811] AH00169: SIGTERM をキャッチしました。シャットダウンします
ディスク容量が不足した以外はメンテナンスなしで、しばらく正常に動作しています。数か月前に SSL プロキシの設定を行いました。Debian Jessie を実行しています
答え1
すべてのkillシステムコールを -S kill
audit.rulesファイルに記録するには、auditdを使用します。監査を使用して特定の SYSCALL を監視するにはどうすればよいでしょうか?ログ エントリには、すべての kill の pid、uid、および exe が含まれます。httpd がシャットダウンする直前のエントリを見つけます。
これは、正しく再起動されていないログローテーション スクリプトであると推測します。
答え2
SIGTERM をキャッチしました
これは、システムが Apache に終了コマンドを送信していることを意味します。Apache を停止/再起動する不正な cron ジョブを探すか、sar
ログを調べてリソースの問題が発生していないか確認します。メモリの問題が発生すると、サーバーは自動的にプロセスを強制終了して、サーバー自体を存続させます。Apache は、通常、メモリの問題でこのように強制終了されるものの 1 つです。