重新启动后,apache2 启动后正在监听 80 端口,但没有响应请求

重新启动后,apache2 启动后正在监听 80 端口,但没有响应请求

sudo apt-get update       
sudo apt-get upgrade

一切都很好。重新启动。Web 服务器已关闭。IP 未响应端口 80 上的请求

sudo apachectl start 说:

(98)Address already in use: AH00072: make_sock: could not bind to address [::]:80

这是真的,它被 apache2 所使用:

tcp6       0      0 :::80                   :::*                    LISTEN      1124/apache2  

所以我尝试了

sudo apachectl stop
httpd (no pid file) not running

嗯,这很奇怪,它显然正在运行。如果我说:

sudo kill -9 1124

进而

sudo apachectl start 

一切都很好。

因此,当启动触发 apache 启动时,它会进入挂起状态,即它在端口 80 上监听,但运行不够充分,无法使 apachectl 命令工作或响应页面请求。但如果我将其终止,然后手动启动它,一切就都好了。然而,再次重启后,这种情况又会出现。

答案1

启动后立即

ps aux|grep apache

表明

/usr/share/apache2/ask-for-passphrase localhost:443 RSA

正在运行,这让我意识到到底发生了什么。

其中一个站点包含带密码的 SSL 证书。因此,当 Apache 尝试在系统启动时启动时,如果没有人手动输入密码,它就无法继续。

因此,您有两个选择来解决这个问题:

  1. 添加SSLPassPhrase对话框指令到您的配置。

  2. 删除你的密码(安全性较低)

相关内容