Apache 未正确重启

Apache 未正确重启

重新启动具有 2000 个虚拟主机的 Apache 时遇到了一些问题。

我在 CentOS 5.8 64 位上使用 Apache 2.2.22 + PHP 5.4.6。

当我尝试重新启动时,它显示以下内容:

    /etc/init.d/httpd restart
Stopping httpd:                                       [FAILED]
Starting httpd: (98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
                                                           [FAILED]

当我killall -9 httpd这样做时,过了一段时间,它又再次发生了 :/

答案1

在我看来,Apache 似乎一开始就没有运行,至少没有在 init 脚本启动它的 PID 下运行。检查(或在此处提供)“ps auxwww”的输出。

我最强烈的直觉告诉我,你的 apache 根进程即将死亡,而子进程仍存活并在 80 端口上监听。如果是这样,请查看你的 apache 错误日志和系统日志,看看是什么导致根进程死亡。

其他可能性:您可能在 init 脚本之外手动启动了 apache,或者其他东西可能在监听端口 80(但这无法解释为什么 killall -9 httpd 会起作用)。

答案2

这是软件包问题。我从 webtactic repo 中获取了 httpd。更改为 Lxcenter 中的版本,运行良好 ;)

相关内容