我将此服务器用作暂存区,并计划通过其 IP 地址(而不是域名)访问它。尝试启动 Apache 时,出现以下错误:
(98)地址已在使用中:AH00072:make_sock:无法绑定到地址 0.0.0.0:80 没有可用的监听套接字
如果我对某个设置有怀疑,我会围绕它进行多次搜索并指出这一点。感谢您的帮助。我会快速获取您需要的任何信息。
apachectl -t -D DUMP_VHOSTS 生成:
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 0.0.0.0. Set the 'ServerName' directive globally to suppress this message
VirtualHost configuration:
*:80 localhost (/etc/apache2/sites-enabled/mydomain_staging.conf:3)
sudo netstat -lnp | grep :80 没有任何结果
j@jjireh:/$ sudo netstat -lnp | grep :80
j@jjireh:/$
sudo netstat -tulpn 生成:(地址数字用“z”替换)
tcp 0 0 127.0.0.1:zzzz 0.0.0.0:* LISTEN zzzz/mysqld
tcp 0 0 0.0.0.0:zzzz 0.0.0.0:* LISTEN zzzz/sshd
udp 0 0 0.0.0.0:123 0.0.0.0:* zzzz/ntpd
udp 0 0 127.0.0.1:123 0.0.0.0:* 3881/ntpd
udp 0 0 0.0.0.0:123 0.0.0.0:* 3881/ntpd
udp6 0 0 z::z:z:z:123 :::* 3881/ntpd
udp6 0 0 z:z::z:z:z :::* 3881/ntpd
udp6 0 0 ::1:123 :::* 3881/ntpd
udp6 0 0 :::123 :::* 3881/ntpd
在 /etc/apache2/环境变量中:
unset HOME # several searches around this
...
/etc/apache2/apache2.conf:
...
PidFile ${APACHE_PID_FILE} # several searches around the pid file
...
sites-available 和 sites-enabled 中唯一的文件是“/etc/apache2/sites-available/mydomain_staging.conf”:
Listen 0.0.0.0:80
<VirtualHost 0.0.0.0:80>
ServerAdmin [email protected]
DocumentRoot /home/j/mydomain_staging/public
LogLevel warn
ErrorLog /home/j/logs/mydomain_staging-error.log
CustomLog /home/j/logs/mydomain_staging-access.log combined
<Directory /home/j/mydomain_staging/public>
# This relaxes Apache security settings.
AllowOverride all
# MultiViews must be turned off.
Options -MultiViews
</Directory>
</VirtualHost>
答案1
在定义虚拟主机时不要使用,因为根据我的经验,它可能会导致问题。
Listen 80
<VirtualHost *:80>
可以解决你的问题。
答案2
也许您遇到了与我相同的问题:在自动更新期间,我的包管理器在配置文件中注入了另一个“Listen 443”指令。
在附加到 httpd.conf 的文件(通常是 conf.d、sites-available 等里面的文件)中搜索“^Listen 80”应该可以帮助您找到此错误的原因。