无法启动 apache2 服务器

无法启动 apache2 服务器

启动 apache2 服务器时出现以下错误消息:

$ sudo /etc/init.d/apache2 start * 启动 Web 服务器 apache2
(98)地址已在使用中:make_sock:无法绑定到地址 0.0.0.0:443 没有可用的监听套接字,正在关闭 无法打开日志 操作“启动”失败。Apache 错误日志可能有更多信息。[失败]

以下是输出命令netstat -lntup

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:28017           0.0.0.0:*               LISTEN      941/mongod
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN      1355/dnsmasq
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      687/sshd
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      854/cupsd
tcp        0      0 0.0.0.0:27017           0.0.0.0:*               LISTEN      941/mongod
tcp6       0      0 :::22                   :::*                    LISTEN      687/sshd
tcp6       0      0 ::1:631                 :::*                    LISTEN      854/cupsd
udp        0      0 0.0.0.0:22543           0.0.0.0:*                           1049/dhclient
udp        0      0 127.0.1.1:53            0.0.0.0:*                           1355/dnsmasq
udp        0      0 0.0.0.0:68              0.0.0.0:*                           1049/dhclient
udp        0      0 0.0.0.0:46027           0.0.0.0:*                           901/avahi-daemon: r
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           901/avahi-daemon: r
udp6       0      0 :::38743                :::*                                901/avahi-daemon: r
udp6       0      0 :::27403                :::*                                1049/dhclient
udp6       0      0 :::5353                 :::*                                901/avahi-daemon: r

有人知道为什么以及应该如何修复它吗?

谢谢!!!

答案1

当您有两个指令针对相同的 IP/端口组合时,Apache 会给出相同的错误消息Listen。第一个指令成功且无错误,第二个指令发现某个程序已在监听该端口并中止。

在不同的文件中找到这些指令并不罕见,例如 vhost 文件或顶层文件(如ports.conf或 )ssl.conf

您可以使用grep -r Listen /etc/apache2或找到它们grep -r Listen /etc/httpd,具体取决于您使用的是基于 Debian 的发行版还是基于 RedHat 的发行版。

答案2

在这种情况下,我通过运行以下命令获得了成功:

/usr/bin/pkill apache2 && /etc/init.d/apache2 start

目的是杀死任何残留的 apache 进程(“pkill”),然后启动 apache

答案3

Apache 尝试使用的端口已被使用,使用命令sudo netstat -lntup并查找 :443,您将找到一个条目。无论监听端口 443 的是什么,请停止它并尝试重新启动 Apache,这样就可以了。

相关内容