2012-07-06 167 views
9

我使用的是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.

任何這些問題的想法將不勝感激。

+0

看起來你可能有一個不同的Apache實例正在運行。嘗試從根目錄(/)搜索'apache'? – blearn 2012-07-06 15:57:48

+0

我重新啓動了機器,現在不再有在80端口上運行的進程(無論如何,根據「sudo netstat -lnp | grep:80」)。然而Apache不會運行。我收到以下錯誤:「(98)地址已在使用中:make_sock:無法綁定到地址0.0.0.0:80 沒有可用的偵聽套接字,正在關閉 無法打開日誌 動作'-k start'失敗。 – OrwellHindenberg 2012-07-06 17:50:19

+0

我希望我不會在這裏混淆問題,但我在httpd.conf文件中註釋Listen 80和Listen 443。我運行了「apache2ctl -k start」命令。我沒有任何信息,現在我看到apache2在端口80上運行,但是當我導航到本地主機時,我仍然到達「未找到」頁面 – OrwellHindenberg 2012-07-06 17:58:13

回答

9

的神色:「模塊xxx_module 已經加載

答:您裝載這些模塊不止一次。請嘗試使用搜索和評論/刪除有問題的線路:

於CentOS/RHEL:

grep ssl_module -rI /etc/httpd/* 
/etc/httpd/conf/httpd.conf:LoadModule ssl_module /usr/lib64/httpd/modules/mod_ssl.so 
/etc/httpd/conf.d/ssl.conf:LoadModule ssl_module modules/mod_ssl.so 

在這種情況下^我註釋掉線/etc/httpd/conf/httpd.conf因此所有的SSL東西,住在/etc/httpd/conf.d/ssl.conf

同對於rewrite_module

grep rewrite_module -rI /etc/httpd/* 

在Debian/Ubuntu中:

grep ssl_module -rI /etc/apache2/* 
2

我有一個類似的問題,我用密碼SSL密鑰。我做了什麼,使其運行是: 須藤pkill的Apache2的 須藤/etc/init.d/apache2開始

我不建議刪除聽*:80從你的Apache配置。