3日一度程度の頻度でapacheが勝手にシャットダウンしてしまいます。
シャットダウンする時間帯は不規則で、夜中の場合もあれば昼間の場合もあります。
シャットダウンした時間のerror_logには下記の内容が出力されています。
[Thu Oct 16 15:22:18 2008] [notice] caught SIGTERM, shutting down
error_log、その他のログファイルも確認しましたが、特に手がかりになりそうなログは出力されていませんでした。
原因、もしくは原因の調査方法について、何かお分かりになる方がいらっしゃいましたらアドバイスをいただけないでしょうか?
よろしくお願いいたします。
なお、サーバー環境は以下のとおりです。
OS:CentOS 4.6
apache:httpd-2.0.52-38.ent.centos4.2
サーバー管理ソフト:Plesk 8.3
SIGTERMですから何らかの意志による終了指示(Ctrl+Cとか、他のプログラムから終了シグナル(kill)が送られたとか)に起因する正常な終了ですね。
Pleaskを使っているようですので、PreskがTERMシグナルを送っている可能性もあります。
Preskの再起動インターバルが3日に設定されてないかご確認下さい。
http://plesk.cc/wiki/?cmd=read&page=FAQ%2F%A5%B5%A1%BC%A5%D0%A1%...
他の人と共有しているサーバだと、他の誰かがしょっちゅう設定を書き換えるような使い方をしていると、再起動インターバルがやってくるごとに毎回再起動しているようなことがあります。
私が仕事で使っているホスティングサービスでは、Apacheのアクセスログがローテーションする時にログデーモン側からApacheを再起動します。
この時、ログに「[notice] caught SIGTERM, shutting down」が表示されます。
私が使っているサーバはログローテーションの設定が毎日0:00なので、毎日その時間帯にシャットダウンします。
もしこれが、ログが一定のサイズになった時点で再起動する設定になっていれば、時間帯は不規則になります。
私の環境ではFreeBSDを使っていますので、"newsyslog.conf"でこの設定を行っていますが、他のOSでも同様の設定はあるかと思いますので、ログデーモン周りを一度確認されてみてはいかがでしょうか。
ただこの場合、Apacheは普通自動的に立ち上がってきますので、シャットダウンされたままになるのなら別の問題かも知れませんが・・・。
アドバイス、ありがとうございます。
なるほど、apacheのログローテーションが実行されたタイミングでwatchdogが走っているのかもしれませんね。
apache再起動インターバルの設定変更では変化がありませんでした。
しかし、apacheに対するwatchdogを停止し、外部サービスによるサーバー監視を行ったところapacheが止まっている形跡はありませんでした。
どうもwatchdogの実行タイミングの問題のようです。
アドバイス、ありがとうございます。
Apache再起動インターバルの設定は0秒になっていました。
とりあえずこの設定を600秒に変更して様子を見ようと思います。