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アプリケーションのパフォーマンスと可用性を向上させることができます。