无法启动 haproxy

无法启动 haproxy

使用 ubuntu 作为我的服务器,我正在尝试使用 HAProxy 设置负载平衡。

当我尝试使用“haproxy -f haproxy.cfg”运行时出现此错误。

[警告] 035/115820 (1148):[haproxy.main()] 无法将 FD 限制提升至 8224。[警报] 035/115820 (1148):正在启动代理 Web 服务:无法绑定套接字

我以为释放端口 80 可以解决问题,所以我卸载了可能正在使用端口 80 的 apache2。但无济于事,仍然没有解决我的问题。那么我该如何终止使用端口 80 的应用程序呢?

我的 haproxy.cfg

    # this config needs haproxy-1.1.28 or haproxy-1.2.1

global
        log 127.0.0.1   local0
        log 127.0.0.1   local1 notice
        #log loghost    local0 info
        maxconn 4096
        #chroot /usr/share/haproxy
        user haproxy
        group haproxy
        daemon
        #debug
        #quiet

defaults
        log     global
        mode    http
        option  httplog
        option  dontlognull
        retries 3
        option redispatch
        maxconn 2000
        contimeout      5000
        clitimeout      50000
        srvtimeout      50000


listen webservice 192.168.1.120:80
        mode http
        stats enable
        stats refresh 10s
        stats hide-version
        cookie GALAXY insert
        balance roundrobin
        option httpclose
        option httpchk OPTIONS /health_check.html
        option forwardfor
        server RONAHPC 192.168.1.7:80 cookie GALAXY_SERVER_01 check
        server MAANPC 192.168.101:80 cookie GALAXY_SERVER_02 check

答案1

netstat -anop | grep ":80"

这应该会向您显示正在监听该端口的内容。例如:

 ~]# netstat -anop | grep ":80"
tcp        0      0 :::80                       :::*                        LISTEN      15566/httpd         off (0.00/0/0)

您也可以使用: lsof -Pni | grep ":80"

前任:

~]# lsof -Pni | grep ":80"
httpd     15566 apache    4u  IPv6  6247436      0t0  TCP *:80 (LISTEN)
httpd     19069   root    4u  IPv6  6247436      0t0  TCP *:80 (LISTEN)

答案2

通过更正我的服务器的公共 IP 使其正常工作。结果发现我使用的 IP 地址不是当前安装了负载平衡器的服务器的 IP 地址。

修复这条线解决了我的问题

监听 web 服务 192.168.1.120:80

答案3

我遇到了与@tom-angelo-clemente 相同的问题,但通过在前端的绑定参数上使用广播地址解决了该问题:

frontend wfe
   bind 0.0.0.0:80

这会将代理绑定到机器正在使用的任何 IP 地址(不确定不同 NIC 设备上的地址),因此如果您有一个不想绑定的私有管理接口和地址,请在使用这种方式时要小心。

相关内容