重新启动 apache 时 httpd(没有 pid 文件)未运行

重新启动 apache 时 httpd(没有 pid 文件)未运行

我正在使用 ubuntu。尝试重新启动 apache 时收到错误消息。

root@XXX:/etc/init.d# sudo /etc/init.d/apache2 restart
 * Restarting web server apache2                                                                                                              apache2: Could not reliably determine the server's fully qualified domain name,                                                               using xxx.xxx.xx.xxx for ServerName
httpd (no pid file) not running
apache2: Could not reliably determine the server's fully qualified domain name,                                                               using xxx.xxx.xx.xxx for ServerName
(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

我尝试时收到以下消息netstat -pant

tcp        0   0 0.0.0.0:80              0.0.0.0:*               LISTEN      0          32748       9950/httpd

tcp      429      0 xxx.xxx.xx.xxx:80       xxx.xxx.xx.xxx:xxxxx    CLOSE_WAIT  0          0          

答案1

使用lsof -i :80{检查参数是否正确。}它列出了所有在端口 80 上监听的应用程序。

还可以尝试运行 apache2 {直接运行可执行文件} 来检查发生了什么。

答案2

只需杀死 apache pid(我认为它的“kill 9950”)

然后尝试 /etc/init.d/apache2 start

答案3

从其他人的帖子来看,这是由于某些应用程序绑定了端口 80,因此只需发出“killall httpd”然后发出“apachectl start”即可使一切恢复正常。

答案4

至少对我来说,这个问题是由于在同一个会话中安装了 nginx(然后改变了主意,安装了 apache)。一旦我卸载 nginx,关闭 apache web 客户端,重新启动它,然后重新启动(不是重新加载或启动,而是重新启动)服务,它就可以正常工作了。

相关内容