Apache-2.2

Apache 沒有正確重啟

  • August 25, 2012

我在使用 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了一段時間後它會再次發生:/

在我看來,Apache 好像一開始就沒有執行,至少不是在 init 腳本啟動它的 PID 下。檢查(或在此處提供)“ps auxwww”的輸出。

我最強烈的直覺說你的 apache 根程序正在死去,讓孩子們活著並在埠 80 上監聽。如果是這樣,請查看你的 apache 錯誤日誌和系統日誌,看看是什麼殺死了根程序。

其他可能性:您可能在 init 腳本之外手動啟動 apache,或者其他可能正在偵聽埠 80(但這不能解釋為什麼 killall -9 httpd 有效)。

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