Apache 服务器:没有可用的监听套接字

19

我最近下载了一个Apache服务器二进制文件(Apache 2.4.12 x64)

当我尝试在命令提示符中运行服务器时,我遇到了以下错误:

(OS 10048)每个套接字地址(协议/网络地址/端口)通常只允许使用一次。: AH00072:make_sock:无法绑定到地址0.0.0.0:80

AH00451:没有可用的侦听套接字,关闭

AH00015:无法打开日志

我猜想端口80已经被占用了。我该如何更改绑定端口,应该使用哪个端口?如果有其他问题,我该如何解决?


3
在我的情况下,当我尝试启动 Apache 服务器时,已经运行并监听端口80的是NGINX服务器。因此,我执行了 service nginx stop 然后执行了 service apache2 start - aderchox
3个回答

22

请检查以下内容:

  • 检查端口80是否被其他进程占用-运行“netstat -o”命令
  • 从命令行关闭IIS:“net stop was /y”

我关闭Skype,因为它正在使用端口8080

尝试编辑conf文件夹中的httpd文件,并更改以下条目-将侦听端口 **从 Listen 80 更改为

#Listen 12.34.56.78:80
Listen 8080

在Windows 10上,“net stop was /y”不再起作用。以下是如何关闭IIS以避免此问题的方法: https://superuser.com/questions/1377068/how-do-i-disable-the-iis-server-on-windows-10-and-free-up-port-80 - Asqan

8

试试这个:

sudo netstat -tulpn | grep :80

在我的情况下,我可以看到:

tcp6 0 0 :::80 ::: LISTEN 2604/docker-proxy*

然后可以杀死该进程:

kill 2604

然后就可以成功重新启动Apache了。


4

在httpd.conf配置文件中,应该有一条类似于“Listen 80”的记录。有时默认的80端口会被其他应用程序占用(我记得Skype曾经使用过该端口)。其他较为常用的端口是8000和8080,但一般来说,如果您仅在本地进行测试,可以设置为任何您想要的端口。更多信息可以在官方文档中获取。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接