我使用的是Apache 2.2.20版本(ubuntu)並嘗試使用自定義httpd.conf安裝程序,但是我收到以下錯誤消息,並希望能夠向我提供任何指導。我是開發團隊的一員,並且給了這個自定義httpd.conf文件,所以我並不真的認爲它是問題的原因(但我並不完全排除這種可能性)。Apache http服務器問題
我運行命令「命令apache2ctl -k重新啓動」,並得到以下結果
[Fri Jul 06 11:33:34 2012] [warn] module ssl_module is already loaded, skipping
[Fri Jul 06 11:33:34 2012] [warn] module rewrite_module is already loaded, skipping
httpd not running, trying to start
(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
Action '-k restart' failed.
The Apache error log may have more information.
兩個警告我可以擺脫如果我在httpd.conf文件中註釋掉行(下) 。我真的想這樣做嗎?我在哪裏可以去驗證這些模塊是否加載到其他地方,並且在我的conf文件中註釋它們不會傷害任何東西?
LoadModule ssl_module modules/mod_ssl.so
LoadModule rewrite_module modules/mod_rewrite.so
至於與無法綁定到端口80有關的錯誤,我不能讓它消失。當我用「netstat的須藤-lnp | grep的:80」我得到以下
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 6233/apache2
我知道,上面的輸出意味着阿帕奇認爲它的運行和今後一個時期我甚至能看到「它成功了!」頁面,當我導航到本地主機,但現在我只能在本地主機端口443「沒有找到Apache/2.2.20(Ubuntu的)服務器」當我去那個網頁。另外我似乎無法殺死運行「kill -9 6233」命令的Apache進程只會導致Apache的PID改變(例如從6233到6234)。我也嘗試使用命令「sudo etc/init.d/apache2 stop」,它會產生一個「*停止Web服務器apache2 [確定]」消息,但我又看到apache2進程佔用端口80.
任何這些問題的想法將不勝感激。
看起來你可能有一個不同的Apache實例正在運行。嘗試從根目錄(/)搜索'apache'? – blearn 2012-07-06 15:57:48
我重新啓動了機器,現在不再有在80端口上運行的進程(無論如何,根據「sudo netstat -lnp | grep:80」)。然而Apache不會運行。我收到以下錯誤:「(98)地址已在使用中:make_sock:無法綁定到地址0.0.0.0:80 沒有可用的偵聽套接字,正在關閉 無法打開日誌 動作'-k start'失敗。 – OrwellHindenberg 2012-07-06 17:50:19
我希望我不會在這裏混淆問題,但我在httpd.conf文件中註釋Listen 80和Listen 443。我運行了「apache2ctl -k start」命令。我沒有任何信息,現在我看到apache2在端口80上運行,但是當我導航到本地主機時,我仍然到達「未找到」頁面 – OrwellHindenberg 2012-07-06 17:58:13