Centos 7/6/5でHAProxyをインストール、構成、および最適化する方法

この投稿では、インストール方法、設定方法、& Centos 7/6/5でHAProxyを最適化して、最大同時接続数10000の高性能ロードバランサーを作成します。

HAProxyは、信頼性が高く高性能なTCP / HTTPロードバランサーです。 HAProxyの詳細については、公式ウェブサイト

この投稿の時点でのHAProxyの現在の安定バージョンは1.9で、この公式ドキュメント

HAProxyのインストール

HAProxyをインストールするには、次のコマンドを使用できます。

sudo yum install -y haproxy

HAProxyを起動するには:

sudo systemctl start haproxy

HAProxyを停止するには:

sudo systemctl stop haproxy

HAProxyのステータスを確認するには:

sudo systemctl status haproxy

起動時にHAProxyの実行を有効にするには

sudo systemctl enable haproxy

HAProxyの構成

ネットワークは次のようになります。

user -----> haproxy:9000 -------->backend1 (172.16.10.20:5000)
                         -------->backend2 (192.168.5.19:6000)

このトポロジでは、HAProxyはポート9000でユーザーリクエストをリッスンし、すべてのリクエストは2つのバックエンド:backend1(172.16.10.20:5000)とbackend2(192.168.5.19:6000)に転送されます

デフォルトでは、HAProxyメイン設定ファイルは次の場所にあります: /etc/haproxy/haproxy.cfg

必要に応じてHAProxyを設定する必要があります。まず、HAProxyフロントエンドリスナーを設定します。構成ファイルのメインフロントエンドセクションのフロントエンドリスンポートを次のように編集します。

---------------------------------------------------------------------
 main frontend which proxys to the backends
 ---------------------------------------------------------------------
 frontend  main *:9000
  acl url_static path_beg -i /static /images /javascript /stylesheets
  acl url_static path_end -i .jpg .gif .png .css .js
  use_backend static if url_static
 default_backend app

次に、バックエンドアプリを変更する必要があります。

---------------------------------------------------------------------
 round robin balancing between the various backends
 ---------------------------------------------------------------------
 backend app
     balance     roundrobin
     server   backend1  172.16.10.20:5000 check
     server   backend2  192.168.5.19:6000 check
     #server  app1 127.0.0.1:5001 check
     #server  app2 127.0.0.1:5002 check
     #server  app3 127.0.0.1:5003 check
     #server  app4 127.0.0.1:5004 check

HAProxyを再起動する前に、設定ファイルに次のコマンドに問題があるかどうかを検証する必要があります。

 haproxy -c -V -f /etc/haproxy/haproxy.cfg 

このコマンド: