我刚刚在我的计算机上安装了 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
答案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
然后就修好了