GNU/Linux >> Linux の 問題 >  >> Rocky Linux

RockyLinux8にHAProxyをインストールして設定する方法

インターネット上にアプリケーションを展開する場合、アプリケーションの可用性、スケーラビリティ、およびパフォーマンスは、ユーザーエクスペリエンスを向上させるために非常に重要です。負荷分散、クラスタリング、プロキシなど、冗長性​​を導入するテクノロジーはたくさんあります。

HAProxyは、トラフィックの多いWebサイト向けに設計された、無料のオープンソースで信頼性の高いロードバランサーです。着信トラフィックを複数のバックエンドサーバーに分散することで負荷分散します。

この記事では、RockyLinux8にHAProxyをインストールする方法を紹介します。

このチュートリアルでは、次の設定を使用します。

サーバー IPアドレス

HAProxy 172.16.10.10

バックエンド1 172.16.10.11

バックエンド2 172.16.10.12

前提条件
  • RockyLinux8を実行しているサーバー。
  • ルートパスワードはサーバーで構成されています。

HAProxyをインストール

デフォルトでは、HAProxyパッケージはRockyLinux8のデフォルトリポジトリで利用できます。次のコマンドでインストールできます:

dnf install haproxy -y

HAProxyがインストールされたら、HAProxyサービスを開始し、システムの再起動時に開始できるようにします。

systemctl start haproxy
systemctl enable haproxy

HAProxyを構成する

次に、/ etc / haproxy / haproxy.cfgファイルを編集し、フロントエンドとバックエンドの2つのセクションを変更する必要があります。 [フロントエンド]セクションで、HAProxy IPのポート、統計URI、およびバックエンド名を定義する必要があります。 [バックエンド]セクションで、負荷分散アルゴリズム、バックエンドサーバーの名前、IP、およびポートを定義する必要があります。

nano /etc/haproxy/haproxy.cfg

次のセクションを変更します。

frontend http_balancer
    bind 172.16.10.10:80
    option http-server-close
    option forwardfor
    stats uri /haproxy?stats

default_backend     Apache_webservers

backend apache_webservers
    mode        http
    balance     roundrobin
    option httpchk HEAD / HTTP/1.1\r\nHost:\ localhost    
    server  apache1  172.16.10.11:80  check
    server  apache2  172.16.10.12:80  check

終了したらファイルを保存して閉じ、/ etc/rsyslog.confファイルを編集する必要があります。

nano /etc/rsyslog.conf

次の行のコメントを解除します:

module(load="imudp")
input(type="imudp" port="514")

ファイルを保存して閉じてから、次のコマンドを使用してrsyslogのhaproxy.confファイルを作成します。

nano /etc/rsyslog.d/haproxy.conf

次の行を追加します:

local2.=info     /var/log/haproxy-access.log
local2.notice    /var/log/haproxy-info.log

次に、rsyslogサービスを開始し、システムの再起動時に開始できるようにします。

systemctl start rsyslog
systemctl enable rsyslog

最後に、HAProxyサービスを再起動して、変更を適用します。

systemctl restart haproxy

次のコマンドを使用して、HAProxyサービスのステータスを確認することもできます。

systemctl status haproxy

次の出力が表示されます。

? haproxy.service - HAProxy Load Balancer
   Loaded: loaded (/usr/lib/systemd/system/haproxy.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2021-08-03 03:10:37 EDT; 1min 16s ago
  Process: 44032 ExecStartPre=/usr/sbin/haproxy -f $CONFIG -c -q $OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 44036 (haproxy)
    Tasks: 2 (limit: 12524)
   Memory: 3.1M
   CGroup: /system.slice/haproxy.service
           ??44036 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid
           ??44111 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid

Aug 03 03:10:36 RockyLinux8 systemd[1]: Starting HAProxy Load Balancer...
Aug 03 03:10:37 RockyLinux8 systemd[1]: Started HAProxy Load Balancer.
ファイアウォールの構成

次に、すべてのサーバーでfirewalldを構成し、ポート80がファイアウォールを通過できるようにする必要があります。

次のコマンドを実行して、ポート80を許可できます。

firewall-cmd --permanent --add-port=80/tcp

次に、firewalldサービスをリロードして変更を適用します。

firewall-cmd --reload

バックエンドサーバーの構成

次に、両方のバックエンドサーバーにApacheサーバーをインストールする必要があります。次のコマンドを実行して、Apacheサーバーをインストールします。

dnf install httpd -y

Apacheサーバーをインストールしたら、Apacheサービスを開始し、システムの再起動時に開始できるようにします。

systemctl start httpd
systemctl enable httpd

次に、両方のバックエンドサーバーでデフォルトのindex.htmlファイルを変更する必要があります。

最初のバックエンドで、次のコマンドを使用してindex.htmlファイルを編集します。

nano /usr/share/httpd/noindex/index.html

すべての行を削除し、次の行を追加します:

Welcome to First Apache Web Server!

終了したら、ファイルを保存して閉じます。

2番目のバックエンドで、次のコマンドを使用してindex.htmlファイルを編集します。

nano /usr/share/httpd/noindex/index.html

すべての行を削除し、次の行を追加します:

Welcome to Second Apache Web Server!

終了したら、ファイルを保存して閉じます。

HAProxyを確認する

この時点で、HAProxyは、負荷分散アルゴリズムに基づいてすべての着信要求をバックエンドサーバーに転送するように構成されています。次に、HAProxyが正しく機能しているかどうかを確認します。

Webブラウザーを開き、URL http://172.16.10.10にHAProxyIPを入力します。 。最初のApacheWebサーバーページが表示されます:

次に、同じページをもう一度更新すると、2番目のApacheWebサーバーページが表示されます。

これにより、HAProxyが期待どおりに機能し、2つのバックエンドサーバー間でトラフィックを分散していることが確認されます。

結論

おめでとう!これで、Rocky Linux 8にHAProxyロードバランサーが正常にインストールおよび構成されました。これで、実稼働環境にHAProxyを実装して、高いパフォーマンスとスケーラビリティを実現できます。


Rocky Linux
  1. Rocky Linux /Centos8でdockerをインストールして構成する方法

  2. Rocky Linux /CentOS8にAnsibleをインストールして構成する方法

  3. RockyLinux8およびCentOS8にMonoをインストールして構成する方法

  1. RockyLinux8にElasticsearchをインストールして構成する

  2. Rocky Linux / AlmaLinux8にHAProxyロードバランサーをインストールして構成する方法

  3. Rocky Linux / AlmaLinux8にMemcachedをインストールして構成する方法

  1. Rocky Linux / AlmaLinux8にSquidProxyをインストールして構成する方法

  2. RockyLinux8にElasticsearchをインストールして設定する方法

  3. RockyLinux8にTensorFlowをインストールして設定する方法