web-dev-qa-db-ja.com

haproxyを起動できません

サーバーとしてubuntuを使用して、HAProxyを使用して負荷分散を設定しようとしています。

「haproxy-fhaproxy.cfg」を使用して実行しようとすると、このエラーが発生します。

[警告] 035/115820(1148):[haproxy.main()] FD制限を8224に上げることができません。[アラート] 035/115820(1148):プロキシWebサービスを開始しています:ソケットをバインドできません

Port80を解放することで問題が解決すると思ったので、port80を使用している可能性のあるApache2をアンインストールしました。しかし、役に立たないのに、まだ私の問題は解決されていません。では、ポート80を使用するアプリケーションを強制終了するにはどうすればよいですか?

my 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
2
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
Sweet

サーバーのパブリックIPを修正することで機能しました。現在ロードバランサーがインストールされているサーバーのIPアドレスではないIPアドレスを使用していることがわかりました。

この行を修正すると私の問題は解決しました

webサービスを聞く192.168.1.120:80

3

@ tom-angelo-clementeと同じ問題がありましたが、フロントエンドのバインドパラメーターでブロードキャストアドレスを使用して解決しました。

frontend wfe
   bind 0.0.0.0:80

これにより、マシンが使用しているIPアドレスにプロキシがバインドされます(異なるNICデバイスのアドレスについては不明))。プライベート管理インターフェイスがあり、アドレスを指定している場合は、この方法を使用する場合は注意してください。にバインドしたくない。

2
Greg