Ubuntu 服务器 - Apache 无法重启

Ubuntu 服务器 - Apache 无法重启

我今天早上来的时候,我们的网络服务器没有运行,所以我关闭了 apache 并尝试重新启动它。至少 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!

答案1

已有一个进程正在监听端口 80。

您可以通过运行以下命令来识别它:

sudo netstat -anp | grep "0.0.0.0:80"

最右边的列将为您提供有问题的进程的 PID。

如果您确定您的 Apache 实例是此系统上唯一应绑定到端口 80 的实例,并且运行 init“stop”脚本没有任何效果,则可以尝试kill INSERTPIDHERE它们,然后尝试再次启动 Apache。

答案2

最好的选择是,早期的 HTTPD 服务器的部分或全部仍在运行,无论是处于活动状态还是挂起状态。我建议您:

sudo /etc/init.d/apache2 stop && ps -leaf | egrep -i "(http|apache)"

grep 打印的任何内容都可能是可疑的。如果没有打印任何内容,则应检查是否有其他进程正在监听或使用端口 80。

答案3

虽然如果重新启动服务器不能解决问题,但挂起的 Apache 进程不太可能占用端口 80。最后一部分:

Unable to open logs
   ...fail!

这表明驱动器上或至少日志文件位置的剩余磁盘空间可能非常小。您可以通过键入来检查可用的可用空间df -h。如果空间已满,可能需要尝试删除一些日志文件或其他不必要的文件。

答案4

这意味着另一个软件使用端口 80。

netstat -plan |grep :80 “此命令将显示正在使用端口 80 的用户”

相关内容