“无法绑定到地址 0.0.0.0:80”——Apache 错误

“无法绑定到地址 0.0.0.0:80”——Apache 错误

我刚刚在我的计算机上安装了 Apache Server 2.2.15。但是,我无法从“开始”->“所有程序”->“Apache HTTP 2.2”->“控制 Apache Server”启动服务器。我可以在托盘中看到“正在运行所有 Apache 服务”。我尝试了以下建议:

1 > 停止 IIS 并重新启动 Apache 2 > 服务器名称更改为 localhost:80。(查询:httpd.conf 中的行是

#ServerName localhost:80

这不是#注释行吗?我应该取消注释吗?

我还应该尝试哪些其他建议?

答案1

如果它无法绑定到端口 80,则很可能您还在运行 IIS,而且如果您运行的是 Vista 或 7,则 IIS 的内核组件很可能占用了端口 80。可以更改 IIS 监听的端口(或者只是卸载它),但让 Apache 在其他端口上运行可能更容易。

取消注释您在问题中粘贴的行,并将冒号后面的部分(端口)更改为您选择的内容。81 和 8080 很常用,但绝不是必需的。更改并保存该文件后,重新启动 Apache,它应该可以正常工作。

然后,要访问 Apache 托管的站点,请使用以下 URL:http://localhost:<port>因此,例如,如果您在配置中输入了 8080,请使用http://localhost:8080

答案2

从控制台netstat -ab以具有足够权限的用户身份运行。然后您将看到已在该端口上运行的应用程序。最重要的一行是

Listen 80

或者让它在另一个端口上运行。当您使用浏览器连接时会出现什么情况?然后您应该能够找出哪个应用程序正在窃取端口。

答案3

视窗Linux的解决方案

A对全部,n用数字代替符号,b对于可执行文件和对于程序(pid):

windows: netstat -anb

linux: netstat -anp

在 Linux 中检查端口 80,因此:

 sudo netstat -anp | grep :80

答案4

对我来说,它是在升级产品后出现的。

我咨询了sudo ss -4 -tlnp | grep 80聆听服务。结果:

LISTEN  0  128  0.0.0.0:80  0.0.0.0:*  users:(("nginx",pid=334,fd=6),("nginx",pid=333,fd=6),("nginx",pid=332,fd=6))

例如我正在使用 apache2,我运行:

service nginx stop
service apache2 restart

然后就修好了

相关内容