Windows Server 2008 r2 - 无法在端口80上运行apache

时间:2011-09-09 14:48:20

标签: windows apache

我有一台运行Windows Server 2008 r2的机架式云服务器。我已经卸载了IIS,因为我想安装Apache。

我已经安装了Apache,但是当我在收听端口80时尝试运行它时它会失败。

我运行命令netstat -aon | finderstr“80”,我看到以下内容:

C:\ Users \ Administrator> netstat -aon | findstr“80”   TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4   TCP 10.180.15.249:139 0.0.0.0:0 LISTENING 4   TCP [::]:80 [::]:0 LISTENING 4   UDP 10.180.15.249:137 4   UDP 10.180.15.249:138 4

那么这些东西在端口80上运行的是什么?为什么我不能启动apache?是否有一个替代端口用于运行apache,其工作方式与80一样好?

5 个答案:

答案 0 :(得分:14)

Windows Server 2008 R2上启用端口80

注意:这假定未安装IIS 。我添加了此防火墙规则,以使 Apache 能够接受端口80上的连接。

  1. 点击开始 - >控制面板 - > Windows防火墙
  2. 单击Windows防火墙左侧面板中的“高级设置”
  3. 点击高级设置左侧面板中的“入站规则”
  4. 点击右侧“操作”面板中的“新规则...”
  5. 选择“端口”,然后点击“下一步>”
  6. 选择“TCP”,然后选择“特定本地端口:”(应该已经选择)
  7. 在框中输入80(只是数字),然后点击“下一步>”
  8. 选择“允许连接”,然后点击“下一步>”
  9. 选中所有个人资料,然后点击“下一步>”
  10. 输入名称并单击“完成”。
  11. 您的服务器现在应该能够接受端口80上的连接。

答案 1 :(得分:3)

在运行MSSQL的Windows服务器上,禁用MSSQL ReportServer(显示名称:SQL Server Reporting Services(MSSQLSERVER))服务和万维网发布服务,为我解决了这个问题。无需摆弄防火墙设置或更改默认端口配置。

答案 2 :(得分:2)

我正在使用IIS和sql server运行Windows 2008 r2。我添加了一个额外的IP地址来运行apache并配置IIS以绑定到其中一个IP地址。我遇到了同样的问题,并找到了关于禁用SQL报告服务和WinRM的建议。这些解决方案对我不起作用。

有许多不同的服务可以使用http服务器api(http.sys),然后只会显示为pid 4.

我在下面的链接中找到了答案。链接的本质是转到命令提示符 输入netsh按enter键 输入http并按Enter键。 添加iplisten ipaddress = x.x.x.x

http://msdn.microsoft.com/en-us/library/cc307219(v=vs.85).aspx

还有一种方法可以在注册表中禁用http.sys,但我不知道它可能会产生什么后果。

我希望这可以帮助其他人,这样他们就不会浪费那么多时间来试图找到解决方案。

答案 3 :(得分:0)

我发现我可以成功添加防火墙规则,使我自己的服务器在vshost visual studio调试环境中的端口80上运行,但是当作为服务运行时,它只能在本地主机上运行,​​而不能从外部主机运行。

非常令人沮丧。似乎防火墙中可能存在未明确显示在Windows防火墙配置界面中的情况。

答案 4 :(得分:0)

安装IIS后,您需要更改IIS中网站上的绑定,以便所有人都不会使用"所有可用地址":80绑定。更改端口或更改侦听IP地址。