2014-03-12 67 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中! !!!!!

相关问题