サーバーとして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
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)
サーバーのパブリックIPを修正することで機能しました。現在ロードバランサーがインストールされているサーバーのIPアドレスではないIPアドレスを使用していることがわかりました。
この行を修正すると私の問題は解決しました
webサービスを聞く192.168.1.120:80
@ tom-angelo-clementeと同じ問題がありましたが、フロントエンドのバインドパラメーターでブロードキャストアドレスを使用して解決しました。
frontend wfe
bind 0.0.0.0:80
これにより、マシンが使用しているIPアドレスにプロキシがバインドされます(異なるNICデバイスのアドレスについては不明))。プライベート管理インターフェイスがあり、アドレスを指定している場合は、この方法を使用する場合は注意してください。にバインドしたくない。