我们的服务器配置了内部 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.Z
为Listen 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 测试页面仅从本地网络显示。
没有绑定到
eth1
接口,但是172.20.54.10
,注释掉Listen 2.X.Y.Z:80
行或替换2.X.Y.Z
为172.20.54.10
然后尝试启动您的httpd
.这意味着有另一个进程已经绑定到端口 80,这就是 httpd 无法启动的原因。
2.X.Y.Z
由于路由/防火墙未到期,可能无法正常工作httpd