httpd 错误:地址已在使用中:AH00072

httpd 错误:地址已在使用中:AH00072

我有一台服务器,CentOs 6.5,由我的一个朋友安装了 xampp。但我认为最好从yum.我只需使用这个就可以将其删除

#rm -rf /opt/lampp

我以为它已经被完全删除了,但事实并非如此。也许我忘记停止了service httpd。然后我继续安装 Apache 2.4这一步。当我尝试启动时出现错误

service httpd24-httpd start

Starting httpd: (98)Address already in use: AH00072: make_sock: could not bind to address 202.190.185.62:80
no listening sockets available, shutting down
AH00015: Unable to open logs

我该如何解决?我必须重新安装apache吗sudo yum install httpd

答案1

要找到该进程并杀死它,请执行以下操作

netstat -lnp | 网络统计grep 80 将产生类似这样的输出。

unix  2      [ ACC ]     STREAM     LISTENING     80   1804/somesoftware     /somepath/and/filename

80 是端口号,本例中的 1804 是进程 ID。

kill -9 1804

将终止占用端口 80 的进程。问题是,当您重新启动计算机时,软件很可能会重新启动,您将不得不重复该过程。

看你的问题描述。首先尝试以下方法。

service httpd24-httpd stop

您可能已经通过 yum 安装运行 apache 服务器。

答案2

当我在自定义目录 /etc/httpd/sites-enabled 下有一个位于顶部的 VirtualHost 配置文件时,就发生了这种情况 Listen 80

碰巧的是,由于它已经在 httpd.conf 上侦听此端口,因此发生冲突,导致该错误。删除 httpd.conf 上的多个条目Listen 80并只保留一个即可解决此问题。当我创建侦听端口而不是域的 VirtualHost 时,我总是在 VirtualHost .conf 文件的顶部包含Listen 12345与适当端口相对应的编号。

答案3

输入netstat -lnp | grep 80并运行,你会发现哪个进程在监听80端口,然后停止它并再次启动httpd。

答案4

除了解决方案找到在 :80 上运行的进程并杀死,然后重新启动,

如果 apache conf 文件或 apache conf 文件中包含的任何 .conf 文件中有多个“Listen”条目,则可能会出现此错误。

相关内容