2014-03-12 62 views
3

兩週前,我啓動了一個帶有Windows Server 2012的AWS EC2實例。然後我安裝了最新版本的wamp(我必須使用apache,因爲我在做通配符域,而IIS不支持它們)。我將我的網站(文件,數據庫記錄和DNS條目)遷移到舊服務器。讓WAMP在Windows Server 2012上運行

WAMP在5到10分鐘之間的任意位置正確運行網站,然後大約需要30秒來加載頁面。

經過一番搜索,我發現這是因爲默認情況下,Windows Server 2012設置爲使用IPv6,而apache設置爲使用IPv4。我訪問過的網站給了我幾件事情來解決這個問題 - 其中包括:

1)從主機文件中註釋掉:: 1 2)禁用IIS(默認情況下在Windows Server上2012 3)改變我的apache.conf文件,以「聽0.0.0.0:80」,而不是「聽80」 4)改變我的apache.conf文件到「服務器名本地主機」,而不是「服務器名127.0.0.1」

我可以重新啓動所有的wamp服務,並且頁面將立即再次加載,但是接下來的5到10分鐘之後,同樣的問題會發生在永久加載頁面的地方。

我已經完成了上述所有這些更改,但問題仍然存在。除了啓動不運行Windows Server 2012的新服務器之外,我沒有想法。

有沒有人遇到過這個問題,並知道一個修復?

回答

3

我相信這是在Windows上運行的Apache中的一個bug。它做與釋放連接,或者更確切地說,不這樣做

添加這些到httpd.conf已經知道,以幫助

AcceptFilter HTTP無 AcceptFilter HTTPS沒有 EnableSendfile關 EnableMMAP關

這指令通過協議類型爲偵聽套接字啓用特定於操作系統的優化。 在Windows上,none不使用accept()而使用AcceptEx(),並且不會在連接之間重新使用套接字。這對於驅動程序支持受損的網絡適配器以及某些虛擬網絡提供程序(如vpn驅動程序或垃圾郵件,病毒或間諜軟件過濾器)非常有用。

在進行更改之前備份您的httpd.conf。檢查httpd.conf中已經存在的這些參數,然後將它們放在httpd.conf中! !!!!!

相關問題