我无法让Apache监听特定的IP地址。 这是一个本地的networking服务器,不是公共的。
我在CentOS 5.11上使用Apache 2.2。
默认configurationhttpd.conf工作得很好,但只能监听服务器的静态IP地址10.0.0.101:80 。
我在httpd.conf的末尾添加了Listen 10.0.0.103:80 ,但是得到错误:
Starting httpd: (99)Cannot assign requested address: make_sock: could not bind to address 10.0.0.103:80
我正在按照https://www.howtoforge.com/high_availability_heartbeat_centos上的说明制作高可用性群集。 如果我只能让Apache开始使用这个地址,那我就是个好主意。
我正在使用这个旧版本的CentOS,因为我试图使用旧硬件来代替它。
我在Google,CentOS网站和Apache的网站上连续搜寻了四个小时,发现没有解决办法。
Apache不会绑定到您的VIP,因为它没有在任何networking接口上configuration。
要做到这一点,你需要设置一个sysctl:
sysctl net.ipv4.ip_nonlocal_bind=1
然后Apache可以进行绑定,但是当VIP被分配给机器时,当然不会有stream量通过。
在你的httpd.conf中检查是否有一个老的'Listen'指令是活动的。 通过附加新的指令,你可以有两个指令冲突。
否则,通过运行以下命令检查另一个进程是否在端口80上侦听:
netstat -plant
希望你看到这样的事情,并杀死它:
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 939/webserver