我有一台运行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一样好?
答案 0 :(得分:14)
在 Windows Server 2008 R2上启用端口80 :
注意:这假定未安装IIS 。我添加了此防火墙规则,以使 Apache 能够接受端口80上的连接。
您的服务器现在应该能够接受端口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地址。