服务httpd restart /(98)地址已经在使用中

突然之间,我无法重启我的CentOS 6.8 web服务器上的apache:

# service httpd restart Stopping httpd: [ OK ] Starting httpd: (98)Address already in use: make_sock: could not bind to address [::]:7080 (98)Address already in use: make_sock: could not bind to address 0.0.0.0:7080 no listening sockets available, shutting down Unable to open logs [FAILED] 

我尝试了一些我在线阅读的东西,包括删除locking文件。

我决定尝试重新启动服务器。 重新启动后,尝试加载任何托pipe网站将导致“502错误的网关”。

 # service httpd status httpd is stopped # service httpd start Starting httpd: [ OK ] # service httpd status httpd dead but subsys locked 

尽pipe“死”的状态,我现在可以加载网站!

有时服务httpd重启工程…

 # service httpd restart Stopping httpd: [ OK ] Starting httpd: [ OK ] 

但是其他时候会导致上面的第一个错误。 在这种情况下,我可以解决它:

 # killall -9 httpd # service httpd start 

所以我可以解决这个问题,但是我真的很好奇发生了什么,想知道我是否应该担心。

您可能已经在您的configuration中的某个地方在该端口上定义了您的侦听器两次。

听*:7080

如果你运行一个Apacheconfigurationtesting,它会说configuration是确定的,直到你真的重新启动服务,它会失败,并出现类似的错误,你所看到的。

同时validation您的日志logging位置是否存在并且是可写的,并且有空间可写,最后这个消息是可疑的。

SSH到服务器并运行以下命令:

 setenforce 0 

这将禁用selinux,直到下一次重新启动

然后尝试重新加载Apache

 service httpd restart 

如果这个工作以某种方式selinux打开。

永久禁用此链接:

https://kb.plesk.com/en/115626