启动 httpd 时没有可用的监听套接字

启动 httpd 时没有可用的监听套接字

我们的服务器配置了内部 IP。然后在防火墙中,管理员映射了一个有效的 IP 地址 (2.XYZ)。因此,命令ipconfig显示

eth1      Link encap:Ethernet  HWaddr 00:E0:61:36:D5:34
          inet addr:172.20.54.10  Bcast:172.20.54.255  Mask:255.255.255.0
          inet6 addr: fe80::270:81ef:fec6:d534/64 Scope:Link

但是,我们使用ssh 2.X.Y.Z。现在,我想设置 Apache Web 服务器,以便在 Web 浏览器中输入 2.XYZ。因此,我打开/etc/httpd/conf/httpd.conf并修改了

Listen 2.X.Y.Z:80
Listen 80

我用数字替换了 XYZ。问题是,当我重新启动 httpd 时,我收到此错误

Starting httpd: (99)Cannot assign requested address: make_sock: could not bind to address 2.X.Y.Z:80
no listening sockets available, shutting down
Unable to open logs
                                                       [FAILED]

更新 1:

如果我替换Listen 2.X.Y.ZListen 172.20.54.10,那么我会收到此错误

Starting httpd: (98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
                                                       [FAILED]

如果我注释掉该行,服务就会启动。但是,在浏览器中,有效的 IP 2.XYZ 不起作用。相反,内部 IP172.20.54.10起作用。换句话说,apache 测试页面仅从本地网络显示。

答案1

2.X.Y.Z

不是绑定到eth1接口,但是172.20.54.10,要么注释掉Listen 2.X.Y.Z:80行,要么替换2.X.Y.Z172.20.54.10,然后尝试启动你的httpd


启动 httpd:(98)地址已在使用中:make_sock:无法绑定到地址 [::]:80(98)地址已在使用中:make_sock:无法绑定到地址 0.0.0.0:80

这意味着已经有另一个进程绑定到端口 80,这就是 httpd 无法启动的原因。

如果我注释掉该行,服务就会启动。但是,在浏览器中,有效的 IP 2.XYZ 不起作用。相反,内部 IP 172.20.54.10 起作用。换句话说,apache 测试页面仅从本地网络显示。

2.X.Y.Z可能无法工作,因为路由/防火墙不存在httpd

相关内容