Apache Server Noob:没有可用的监听套接字

Posted

技术标签:

【中文标题】Apache Server Noob:没有可用的监听套接字【英文标题】:Apache Server Noob: no listening sockets available 【发布时间】:2015-09-26 16:45:11 【问题描述】:

前言:我是网络新手,我可以制作网站,但我只是进入服务器等领域。

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

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

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

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

AH00015:无法打开日志

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

如果您需要任何额外信息,请告诉我,我不知道该提供什么。

【问题讨论】:

在我的例子中,我试图启动 apache 服务器,而我的 nginx 服务器已经在运行并监听端口 80。所以我做了service nginx stop 然后service apache2 start @aderchox 你救了我,伙计!它对我有用。 【参考方案1】:

检查这些:

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

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

尝试编辑conf文件夹下的httpd文件,并编辑如下入口-更改监听端口**来自Listen 80

#Listen 12.34.56.78:80
Listen 8080

【讨论】:

net stop was /y 在 Windows 10 上不再工作。在这里您可以看到如何关闭 IIS 以避免此问题:superuser.com/questions/1377068/…【参考方案2】:

试试这个:

sudo netstat -tulpn | grep :80

就我而言,我可以看到:

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

然后我可以终止该进程:

kill 2604

然后成功重启Apache。

【讨论】:

【参考方案3】:

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

【讨论】:

【参考方案4】:

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

sudo apt remove --purge apache2
sudo apt install apache2

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

sudo chmod 755 *

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

【讨论】:

以上是关于Apache Server Noob:没有可用的监听套接字的主要内容,如果未能解决你的问题,请参考以下文章

Web Server 配置安全

redis-sentinel主从复制高可用

无法在 Windows Server 2008 R2 上启动 Apache

发出 JSON 的 WCF Web 服务(Noob 建议)

iscsI服务的配置+lvm逻辑卷 高可用(HA)集群铺设的业务Apache+iscsI服务的配置

Jenkins + Apache + SSL = 没有可用的更新