Apache が正しく再起動しない

Apache が正しく再起動しない

2000 個の仮想ホストで Apache を再起動すると問題が発生しました。

CentOS 5.8 64 ビットで Apache 2.2.22 + PHP 5.4.6 を使用しています。

再起動しようとすると、次のように表示されます。

    /etc/init.d/httpd restart
Stopping httpd:                                       [FAILED]
Starting httpd: (98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
                                                           [FAILED]

killall -9 httpdしばらくは大丈夫だったのですが、また同じことが起きてしまいます : /

答え1

Apache は最初から実行されていなかったように見えます。少なくとも、init スクリプトが起動した PID では実行されていません。「ps auxwww」の出力を確認してください (またはここで提供してください)。

私の直観では、Apache のルート プロセスが終了し、子プロセスは存続してポート 80 でリッスンしている状態になっていると思われます。その場合は、Apache のエラー ログとシステム ログを調べて、ルート プロセスを終了している原因を確認してください。

その他の可能性としては、init スクリプトの外部で Apache を手動で起動している何かがあるか、ポート 80 でリッスンしている何かがある可能性があります (ただし、killall -9 httpd が機能する理由は説明されません)。

答え2

それはパッケージの問題でした。私は webtactic リポジトリから httpd を入手しました。Lxcenter のものに変更したところ、非常にうまく動作しています ;)

関連情報