让 WAMP 在 Windows Server 2012 上运行

Posted

技术标签:

【中文标题】让 WAMP 在 Windows Server 2012 上运行【英文标题】:Getting WAMP to run on Windows Server 2012 【发布时间】:2014-04-16 21:38:27 【问题描述】:

两周前,我启动了一个带有 Windows Server 2012 的 AWS EC2 实例。然后我安装了最新版本的 wamp(我必须使用 apache,因为我正在使用通配符域,而 IIS 不支持它们)。我将我的站点(文件、数据库记录和 DNS 条目)从旧服务器迁移到了新服务器。

WAMP 可以在 5 到 10 分钟内正确运行网站,然后加载页面大约需要 30 秒。

经过一番搜索,我发现这是因为 Windows Server 2012 默认设置为使用 IPv6,而 apache 设置为使用 IPv4。我访问过的网站为我提供了一些解决此问题的方法 - 其中包括:

1) 从 hosts 文件中注释掉 ::1 2) 禁用 IIS(在 Windows Server 2012 中默认开启 3) 将我的 apache.conf 文件更改为“Listen 0.0.0.0:80”而不是“Listen 80” 4) 将我的 apache.conf 文件更改为“ServerName localhost”而不是“ServerName 127.0.0.1”

我可以重新启动所有 wamp 服务,页面将立即再次开始加载,但再过 5 到 10 分钟后,同样的问题会出现,页面需要永远加载。

我已完成上述所有这些更改,但问题仍然存在。除了启动一个没有运行 Windows Server 2012 的新服务器之外,我已经没有想法了。

之前有没有人遇到过这个问题并知道解决方法?

【问题讨论】:

【参考方案1】:

我相信这是在 Windows 上运行的 Apache 中的一个小错误。它与释放连接有关,或者说不这样做

将这些添加到 httpd.conf 会有所帮助

AcceptFilter http 无 AcceptFilter https 无 启用发送文件关闭 启用 MMAP 关闭

此指令通过协议类型启用针对侦听套接字的操作系统特定优化。 在 Windows 上, none 使用 accept() 而不是 AcceptEx() 并且不会在连接之间回收套接字。这对于驱动程序支持损坏的网络适配器以及一些虚拟网络提供程序(例如 *** 驱动程序或垃圾邮件、病毒或间谍软件过滤器)非常有用。

在进行更改之前备份您的 httpd.conf。在将这些参数放入 httpd.conf 之前,请检查这些参数是否已经存在于 httpd.conf 中的某个位置! !!!!!!

【讨论】:

以上是关于让 WAMP 在 Windows Server 2012 上运行的主要内容,如果未能解决你的问题,请参考以下文章

PHP7 学习笔记403 Forbidden - WAMP Server 2.5

windows server 2008r2 WAMP 报错0xc000007b

Windows 2008 R2安装wamp server

Wamp Server 不会变成绿色

Windows Server上用WAMP部署的两个PHP网站。

让 WAMP 在 Windows 启动时自动启动(无需登录或任何 UAC 干扰)