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

Apache Server: no listening sockets available

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

当我在命令提示符下尝试 运行 服务器时,出现以下错误:

(OS 10048)Only one usage of each socket address (protocol/network address/port) is normally permitted. : AH00072: make_sock: could not bind to address 0.0.0.0:80

AH00451: no listening sockets available, shutting down

AH00015: Unable to open logs

我猜端口 80 已被使用。如何更改绑定端口,我应该使用哪个端口?如果还有问题怎么解决?

在 httpd.conf 中应该有一个条目,如“Listen 80”。有时默认端口 80 被其他应用程序占用(例如,我记得 Skype 曾经使用该端口)。其他或多或少要使用的标准端口是 8000 和 8080,但通常您可以将其设置为任何您想要的端口,如果您只是在本地玩游戏。更多信息可以在 official documentation.

中获得

检查这些:

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

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

尝试编辑 conf 文件夹中的 httpd 文件并编辑以下条目 - 更改监听端口 **来自 Listen 80

#Listen 12.34.56.78:80
Listen 8080

试试这个:

sudo netstat -tulpn | grep :80

就我而言,我可以看到:

tcp6 0 0 :::80 ::: 收听 2604/docker-proxy*

然后我可以终止该进程:

kill 2604

然后成功重启Apache。

这对我来说太复杂了。 我输入了

sudo apt remove --purge apache2
sudo apt install apache2

然后我不得不在 /var/www/html 中更改文件、目录本身和子目录的权限。 默认情况下它们是 -rw--------

sudo chmod 755 *

我越想解决问题,我似乎遇到的问题就越多。写这个软件的人知道他们在做什么,他们肯定比我知道的多得多。