このチュートリアルでは、CentOS 8にHAProxyをインストールする方法を示します。知らなかった方のために、HAProxyは無料のHTTP/TCP高可用性ロードバランサーおよびプロキシです。サーバー。単一のサーバー障害に起因する問題を軽減するために、複数のサーバー間でリクエストを分散します。HAProxyは、GitHub、Bitbucket、Stack Overflow、Reddit、Tumblr、Twitter、Tuentiなどの多くの有名なWebサイトで使用されています。 AmazonWebServicesのOpsWorks製品で。
この記事は、少なくともLinuxの基本的な知識があり、シェルの使用方法を知っていること、そして最も重要なこととして、サイトを独自のVPSでホストしていることを前提としています。インストールは非常に簡単で、ルートアカウントで実行されていますが、そうでない場合は、'sudo
を追加する必要があります。 ルート権限を取得するコマンドに‘。 CentOS8にHAProxyを段階的にインストールする方法を紹介します。
前提条件
- 次のオペレーティングシステムのいずれかを実行しているサーバー:CentOS8。
- 潜在的な問題を防ぐために、OSの新規インストールを使用することをお勧めします。
- サーバーへのSSHアクセス(またはデスクトップを使用している場合はターミナルを開く)
non-root sudo user
またはroot user
へのアクセス 。non-root sudo user
として行動することをお勧めします ただし、ルートとして機能するときに注意しないと、システムに害を及ぼす可能性があるためです。
CentOS8にHAProxyをインストールする
ステップ1.まず、システムが最新であることを確認することから始めましょう。
sudo clean all sudo dnf update
ステップ2.CentOS8にHAProxyをインストールします。
HAProxyはデフォルトのCentOS8で使用できます。次に、次のdnf
を使用します。 HAProxyをインストールするコマンド:
sudo dnf install haproxy
ステップ3.HAProxyを構成します。
構成ファイル/etc/haproxy/haproxy.cfg
を作成します 必要な設定と構成が含まれています:
sudo nano /etc/haproxy/haproxy.cfg
ファイルに次のように入力します:
global log 127.0.0.1 local2 chroot /var/lib/haproxy pidfile /var/run/haproxy.pid maxconn 4000 user haproxy group haproxy daemon stats socket /var/lib/haproxy/stats ssl-default-bind-ciphers PROFILE=SYSTEM ssl-default-server-ciphers PROFILE=SYSTEM defaults mode http log global option httplog option dontlognull option http-server-close option forwardfor except 127.0.0.0/8 option redispatch retries 3 timeout http-request 10s timeout queue 1m timeout connect 10s timeout client 1m timeout server 1m timeout http-keep-alive 10s timeout check 10s maxconn 3000 frontend main bind *:5000 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 backend static balance roundrobin server static 127.0.0.1:4331 check backend app balance roundrobin 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
構成の詳細を表示できます。詳細については、このURLを確認してください。HAProxyを構成したら、サービスを開始します。
sudo systemctl start haproxy sudo systemctl enable haproxy
手順4.ファイアウォールを構成します。
HAProxyをCentOS8ファイアウォールに追加し、次のコマンドでルールを更新します。
sudo firewall-cmd --add-port=8088/tcp --permanent sudo firewall-cmd --reload
手順5.HAProxyログを設定します。
HAProxy標準ロギングを設定するには、/etc/rsyslog.conf
を編集します ポート514でUDPSyslog受信を有効にします:
sudo nano /etc/rsyslog.conf
... # Provides UDP syslog reception # for parameters see http://www.rsyslog.com/doc/imudp.html module(load="imudp") # needs to be done just once input(type="imudp" port="514") ... *.info;mail.none;authpriv.none;cron.none,local2.none /var/log/messages local2.* /var/log/haproxy.log ...>
次に、構成ファイルを保存し、以下のコマンドを実行してエラーを確認します。
rsyslogd -N1 sudo systemctl restart rsyslog haproxy
ステップ6.ApacheX-Forwarded-バックエンドサーバーへのログオン用に設定します。
ここで、バックエンドサーバーにログインし、X-Forwarded-Forヘッダーをログに記録するようにApacheを構成します。変更するデフォルトの行は次のとおりです。
... LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common ...
次のようにこの行を編集します:
... LogFormat "\"%{X-Forwarded-For}i\" %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common ...
ファイルを保存してApacheを再起動します:
apachectl configtest sudo systemctl restart httpd
ステップ7.HAProxyロードバランサーのテスト。
HAProxyがHTTPリクエストの負荷を分散できることを確認するには、ブラウザに移動し、ホスト名またはIPアドレスのいずれかを使用してHAProxyにアクセスします。
おめでとうございます!HAProxyが正常にインストールされました。このチュートリアルを使用してCentOS 8システムにHAProxyをインストールしていただき、ありがとうございます。追加のヘルプや役立つ情報については、HAProxyの公式Webサイトを確認することをお勧めします。