无法重新启动 Apache 服务器 AWS EC2 Ubuntu 机器

无法重新启动 Apache 服务器 AWS EC2 Ubuntu 机器

我正在 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”表示您没有权限绑定到端口。

发生这种情况的原因可能有多种,包括:

  1. sudo重新启动 Apache 时不使用或超级用户权限
  2. 有其他程序正在监听端口 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使用不同的端口进行监听)

相关内容