2013-12-12 29 views
1

長達一年半以上,我一直通過WAMP運行Apache(自然使用HTTPD),而無需問題,或至少沒有像這樣的問題。在這個系統上,我們託管了大約8個左右不同的網站和一些使用MySQL數據庫的應用程序。WAMP(Windows Server 2008 R2)上的Apache(2.4.2/2.4.4)停止響應請求,但仍然運行

最近我有一個完整的系統崩潰,當我在同一個操作系統上使用相同版本的Apache,MySQL和PHP以及幾乎相同的配置文件重建系統時。

我遇到的問題是:在啓動時,我們的Web服務最初看起來工作正常,並且這可以保持一個小時左右,有時更少,有時更多。然而,經過一段時間後,所有網站突然變得完全不可用,將localhost登陸到Web服務器本身或任何本地瀏覽器上。 Apache識別爲仍在運行,仍然在端口80上偵聽,並且沒有異常訪問或錯誤日誌(包含在調試模式中)。

我已經經歷了這個不少次,重新安裝了WAMP並且互換了不同版本的Apache。此外,我已經審覈了與舊系統相比的配置文件,並確保模塊,擴展等與我們以前的版本相同。

我真的很感激任何有識之士,因爲我會繼續對可能導致這個錯誤問題的事情深表擔憂。

-

一些額外的細節和可能證明是有見地的筆記。

  • 我已經確定防火牆不是問題,再加上那不能解釋本地主機突然停機或停機。
  • 重新啓動Apache服務往往可以解決問題,但只有一小會兒。
  • 因爲我們託管多個網站,所以我們使用虛擬主機。系統啓動時它們工作正常,我不相信它們是問題。
  • 該問題往往會導致無限期的「等待主機(site.com,localhost等)」。
  • 當我在該無限期錯誤期間重置Apache時,它隨即出現「與site.com的連接中斷」錯誤,因此仍有一些內容仍在運行。
  • 在這些停機期間,httpd -d DUMP_VHOSTS能夠返回活動的虛擬主機。
  • 用ab -n 1000 site.com當站點 '向下',下面的結果出現:

標杆site.com(耐心等待)

完成100個請求

完成200個請求

apr_pollset_poll:指定的超時時間已經期滿(70007)

共完成216個請求

+0

您是否收到任何響應或只是請求超時?另外,這些網站是公開的嗎?你看過訪問日誌,看看服務器是否已經不堪重負? –

+0

附近,我可以告訴,Apache沒有接收或處理任何請求。數據包正在穿過防火牆,因爲我認爲這可能是問題所在,但日誌中的任何內容都不會表明Apache在此期間對任何請求執行了任何操作,因此,任何訪問任何內容的嘗試都是活動的網站或只是內部localhost登陸卡在'等待本地主機'或'等待site.com'。 – MarkyMark

+0

停止響應後,'httpd -D DUMP_VHOSTS'是否會返回已加載的虛擬主機?您是否嘗試過Logger/Log View(http://msdn.microsoft.com/en-us/library/windows/hardware/ff552060(v=vs.85).aspx)?另外,你是否嘗試過去一個虛擬主機(測試每個虛擬主機)並使用'ab -n 1000 hostname.com'來模擬大量的請求? –

回答

0

將此添加到httpd中。conf

EnableMMAP off 
EnableSendfile off 

AcceptFilter http none 
AcceptFilter https none 

這將禁止Apache使用OS提供的一些更高級的網絡功能。

這些功能可能會因第三方軟件安裝而中斷。

有時重新安裝TCP/IP(winsock)可以刪除連接到網絡層的第三方過濾器/驅動程序。

netsh winsock reset 
+0

我肯定會將此視爲解決方案。 – MarkyMark

+0

不知道這是否是唯一的修復程序,但似乎現在已經解決。謝謝你的洞察力。 – MarkyMark