HAProxyは、高可用性と負荷分散のための無料のオープンソースで信頼性の高いソリューションです。複数のアプリケーションサーバーに負荷を分散し、要求処理タスクを簡素化します。すべての主要なLinuxオペレーティングシステムにインストールできます。効率、信頼性、メモリとCPUのフットプリントが少ないことから人気があります。
この投稿では、Debian11システムにHAProxyをインストールする方法を説明します。
- Debian 11forHAProxyを実行しているサーバー。
- ApacheBackendサーバー用にDebian11を実行している2台のサーバー。
- ルートパスワードはすべてのサーバーで構成されています。
このチュートリアルでは、2つのバックエンドApacheサーバーをセットアップする必要があります。
最初のバックエンドサーバーで、次のコマンドを使用してApacheパッケージをインストールします。
apt-get install apache2 -y
Apacheがインストールされたら、次のコマンドを使用してサンプルのApacheインデックスページを作成します。
echo "<H1>Welcome to the first Apache Server</H1>" | tee /var/www/html/index.html
2番目のバックエンドサーバーで、次のコマンドを使用してApacheパッケージをインストールします。
apt-get install apache2 -y
次に、次のコマンドを使用してサンプルのApacheインデックスページを作成します。
echo "<H1>Welcome to the second Apache Server</H1>" | tee /var/www/html/index.html
終了したら、次のステップに進むことができます。
HAProxyをインストール
デフォルトでは、HAProxyはDebian11のデフォルトリポジトリに含まれています。次のコマンドを実行してインストールできます:
apt-get install haproxy -y
HAProxyがインストールされたら、HAProxyサービスを開始し、システムの再起動時に開始できるようにします。
systemctl start haproxy
systemctl enable haproxy
終了したら、次のステップに進むことができます。
HAProxyを構成する
次に、HAProxyのデフォルト構成ファイルを編集し、バックエンドWebサーバーを定義する必要があります。
nano /etc/haproxy/haproxy.cfg
次の行を追加します:
frontend apache_front # Frontend listen port - 80 bind *:80 # Set the default backend default_backend apache_backend_servers # Enable send X-Forwarded-For header option forwardfor # Define backend backend apache_backend_servers # Use roundrobin to balance traffic balance roundrobin # Define the backend servers server backend01 192.168.1.10:80 check server backend02 192.168.1.11:80 check
終了したら、ファイルを保存して閉じます。
場所 : 192.168.1.10 は最初のApacheバックエンドサーバーのIPアドレスであり、 192.168.1.11 は2番目のApacheバックエンドサーバーのIPアドレスです。
次に、HAProxyサービスを再起動して、変更を適用します。
systemctl restart haproxy
これで、次のコマンドを使用してHAProxyのステータスを確認できます。
systemctl status haproxy
次の出力が得られます:
? haproxy.service - HAProxy Load Balancer Loaded: loaded (/lib/systemd/system/haproxy.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2021-11-07 03:47:14 UTC; 9s ago Docs: man:haproxy(1) file:/usr/share/doc/haproxy/configuration.txt.gz Process: 86678 ExecStartPre=/usr/sbin/haproxy -f $CONFIG -c -q $EXTRAOPTS (code=exited, status=0/SUCCESS) Main PID: 86680 (haproxy) Tasks: 3 (limit: 4679) Memory: 34.2M CPU: 61ms CGroup: /system.slice/haproxy.service ??86680 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -S /run/haproxy-master.sock ??86682 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -S /run/haproxy-master.sock Nov 07 03:47:14 debian11 systemd[1]: Starting HAProxy Load Balancer... Nov 07 03:47:14 debian11 haproxy[86680]: Proxy apache_front started. Nov 07 03:47:14 debian11 haproxy[86680]: Proxy apache_front started. Nov 07 03:47:14 debian11 systemd[1]: Started HAProxy Load Balancer. Nov 07 03:47:14 debian11 haproxy[86680]: [NOTICE] 310/034714 (86680) : New worker #1 (86682) forked Nov 07 03:47:14 debian11 haproxy[86680]: Proxy apache_backend_servers started. Nov 07 03:47:14 debian11 haproxy[86680]: Proxy apache_backend_servers started.
HAProxyを確認する
この時点で、HAProxyが構成され、実行されています。次に、HAProxyをテストします。
Webブラウザーを開き、URL http:// your-haproxy-ipを入力します 。更新するたびに、HAProxyがバックエンドサーバーにリクエストを1つずつ送信していることがわかります。
おめでとう!これで、Debian 11にHAProxyが正常にインストールされました。これで、本番環境にHAProxyを実装して、Webアプリケーションのパフォーマンスと可用性を向上させることができます。