我有一台服务器,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”条目,则可能会出现此错误。