我今天早上进来,我们的networking服务器没有运行,所以我closuresApache,并试图再次启动。 在这台服务器上至less有2-3周的时间没有触及httpd.conf,上次我重新启动它。 我试图重新启动服务器无济于事。 以下是我尝试启动apache2时得到的消息。
username:~$ sudo /etc/init.d/apache2 start * Starting web server apache2 (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 ...fail!
已经有一个进程正在侦听80端口。
您可以通过运行以下命令来识别它:
sudo netstat -anp | grep "0.0.0.0:80"
最右边的列将会给出违规进程的PID(es)。
如果您确定您的Apache实例是唯一应该绑定到此系统上的端口80,并且运行init“stop”脚本没有任何效果,那么您可以尝试kill INSERTPIDHERE
,然后再次尝试启动Apache。
你最好的select是早期HTTPD服务器的部分或全部仍在运行,无论是活动还是挂起。 我build议你:
sudo /etc/init.d/apache2 stop && ps -leaf | egrep -i "(http|apache)"
任何由grep打印的东西都是可能的嫌疑犯。 如果没有打印出来,你应该检查其他进程在监听或者使用80端口。
虽然如果重新启动服务器不能解决它,它不太可能是一个挂起的Apache进程占用端口80.最后一部分:
Unable to open logs ...fail!
向我build议,他们可能只剩下很less的磁盘空间,或者至less在日志文件位置。 您可以通过键入df -h
来检查可用空间。 如果已满,可能要尝试删除一些日志文件或其他不必要的文件。
这意味着另一个软usin口80。
netstat -plan | grep:80“这个命令会显示你正在使用端口80”