我正在使用 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 客户端,重新启动它,然后重新启动(不是重新加载或启动,而是重新启动)服务,它就可以正常工作了。