Apache2 无法绑定到(任意)地址,无法打开日志

Apache2 无法绑定到(任意)地址,无法打开日志

我目前有其他服务在监听端口 80,因此我已将 apache 配置为监听端口 444,而该端口上肯定没有服务在监听。

但是,当我尝试启动 apache 时,收到此错误:

(98)Address already in use: make_sock: could not bind to address 127.0.0.1:444

也尝试过(但失败了)绑定到0.0.0.0:444。此后的错误是:

Unable to open logs

有人能给我指出正确的方向吗?

更新:

关于用户:

# envvars
APACHE_RUN_USER=www-data
APACHE_RUN_GROUP=root

$ groups www-data
www-data : www-data root

$ ls -l /var/log/apache2
total 60
-rw-r----- 1 www-data root     0 May  9 08:02 access.log
..other files, same permissions..

如上所述,444 上没有任何监听:

netstat -anp | grep 444
udp        0      0 0.0.0.0:57444           0.0.0.0:*                           761/avahi-daemon: r

答案1

尝试将端口更改为 4444 或大于 1024 的端口,看看 apache 是否可以启动。您可以尝试删除目录以外的所有日志文件。您还可以检查日志文件是否未打开lsof | grep /var/log/apache2

答案2

好吧,如果您无法访问日志并且无法绑定到端口,我想知道是否已运行另一个 apache 实例。 ps aux|grep httpd 在报告错误后,您是否运行过:以确保服务器上没有另一个 apache 实例正在运行?我的意思是有什么东西阻止了您想要的相同两个资源 - 听起来可能是您正在运行的另一个副本。

您还可以使用 lsof 查看正在使用这些资源的内容:

lsof |egrep access\.log\|444

繁荣!

相关内容