我正在 AWS EC2 Ubuntu 机器上工作。我无法重新启动我的 Apache 服务器。以下是我使用时显示的Listen 80
错误ports.conf
Listen 80
<IfModule ssl_module>
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
$ service apache2 restart * 重新启动 Web 服务器 apache2
(13)权限被拒绝:AH00072:make_sock:无法绑定到地址 [::]:80 (13)权限被拒绝:AH00072:make_sock:无法绑定到地址 0.0.0.0:80 没有可用的监听套接字,正在关闭 AH00015:无法打开日志 操作“启动”失败。Apache 错误日志可能有更多信息。
当我和Listen 8080
Listen 8080
<IfModule ssl_module>
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
$ service apache2 restart * 重新启动 Web 服务器 apache2
(13)权限被拒绝:AH00072:make_sock:无法绑定到地址 [::]:443 (13)权限被拒绝:AH00072:make_sock:无法绑定到地址 0.0.0.0:443 没有可用的监听套接字,正在关闭 AH00015:无法打开日志 操作“启动”失败。Apache 错误日志可能包含更多信息。
当我使用 SSL 时,这一切都会发生。
日志为空。日志中未发现错误(/var/log/apache2
)
答案1
“Permission Denied”表示您没有权限绑定到端口。
发生这种情况的原因可能有多种,包括:
sudo
重新启动 Apache 时不使用或超级用户权限- 有其他程序正在监听端口 80 或 443。
首先,对于端口 80,请检查以下内容:sudo netstat -tulpn | grep :80
。这将在最右侧的列中列出绑定到端口 80 的所有进程及其名称。
对于端口 443,请使用此端口,并且应记住相同的一般事项: sudo netstat -tulpn | grep :443
。
但请注意,端口 443 问题可能与我观察到的问题有关。
我个人还观察到 14.04 上存在一个问题,即使用和进行监听ssl_module
也会mod_gnutls
导致此问题(在配置服务时发现)。您需要注释掉其中一个,ports.conf
然后使用其中一个,而不是两个。(或者,使用mod_gnutls
不同的端口进行监听,或mod_ssl
使用不同的端口进行监听)