我希望有人能够相当紧急地帮助我。
我一直试图让我的Centos服务器备份和运行。
我昨天做了一个yum更新按计划进行,但今天早上我发现httpd已经死了(我正在猜测logrotate)。
我可以发出一个“服务httpd开始”,它似乎开始确定,但状态显示“httpd已死,子弹被locking”。
我可以删除子锁,然后重新开始,但是我得到:
“(98)已经使用的地址:make_sock:无法绑定到地址0.0.0.0:80
没有可用的sockets,closures
无法打开日志“
然后运行netstat -plant显示正在运行的httpd
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 8191 / httpd
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 8191 / httpd
我可以从我的httpd.conf中删除Listen 80,并删除第一个错误,但它显示:“(98)已经在使用的地址:make_sock:无法绑定到地址0.0.0.0:443
没有可用的sockets,closures
无法打开日志“
在我的configuration文件中没有443条目吗?
也运行tail -f / var / log / messages我得到一个令人担忧的条目:
www内核:httpd [8189]:segfault在0 ip b7367c48 sp bf89f4fc错误4在libc-2.5.so [b72f8000 + 152000]
请任何想法?
你的,克里斯
您可能仍然有端口80 en 443上运行的httpd。尝试pkill httpd; 或者pkill -9 httpd
然后再次运行netstat -plant并检查端口80和443上的httpd是否消失。
现在再次启动Apache。
你说你的configuration没有443,“grep -ril 443”/ etc / apache2说什么?
你也可以用lsof -i tcp:443检查是否有任何进程绑定到443; 那么你可以杀死进程或find有问题的服务。
类似的事情发生在我身上。 原来httpd真的是一直在运行! 显然,如果你检查服务状态时没有足够的权限,“httpd dead but subsys locked”消息可能会误导性地显示出来。 切换到根目录,看看你是否得到了不同的信息,或者ping你的服务器,你可能会发现它正在工作!
可能有另一个httpd运行的实例,做一个
`lsof -i :80`
它应该显示是否运行或否。 如果它正在运行做一个
kill -9 <pid>
此外,您可能需要检查/etc/httpd/httpd.conf文件是否有错误,因为这可能会导致服务启动失败