GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS 8にHAProxyをインストールする-ステップバイステップガイド?

HAProxyは、無料のHTTP/TCP高可用性ロードバランサーおよびプロキシサーバーです。単一のサーバーの障害に起因する問題を軽減するために、複数のサーバーに要求を分散します。 HA Proxyは、GitHub、Bitbucket、Stack Overflow、Reddit、Tumblr、Twitter、Tuentiなどの多くの有名なWebサイトで使用されており、AmazonWebServicesのOpsWorks製品で使用されています。

ここLinuxAPTでは、サーバー管理サービスの一部として、お客様が関連するHAProxy構成クエリを実行するのを定期的に支援しています。

これに関連して、CentOS8システムにHAProxyをインストールする方法を検討します。


CentOS8にHAProxyをインストールして設定する手順

1.システムアップデートを実行します

まず、システムが最新であることを確認することから始めましょう:

$ sudo clean all
$ sudo dnf update


2.システムにHAProxyをインストールします

HAProxyはデフォルトのCentOS8で使用できます。次に、次のdnfaコマンドを使用してHAProxyをインストールします。

$ sudo dnf install haproxy

次に、サーバーを再起動するたびにHAProxyが起動することを確認する必要があります。これは、以下のchkconfigコマンドで実行できます。

$ chkconfig haproxy on


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


HAProxyロードバランサーをテストする方法は?

HAProxyがHTTPリクエストの負荷を分散できることを確認するには、ブラウザに移動し、ホスト名またはIPアドレスのいずれかを使用してHAProxyにアクセスします。


HAProxyを再起動する方法は?

レイヤー4またはレイヤー7のいずれかを構成した後、次のコマンドを使用してHAProxyを再起動します。

$ systemctl restart haproxy

再起動が成功すると、出力は表示されません。つまり、HAProxyは、実装したばかりの変更で稼働しています。



Cent OS
  1. CentOS 8にGrafanaをインストールする-ステップバイステップガイド?

  2. CentOS 8にFreeIPAをインストールする-ステップバイステップガイド?

  3. CentOS 8にOrangeScrumをインストールします-ステップバイステップガイド?

  1. Centos8にRar/Unrarをインストールする-ステップバイステップガイド?

  2. CentOS 8にClamAVをインストールします-ステップバイステップガイド?

  3. CentOS8にApacheAntをインストールします-ステップバイステップガイド?

  1. CentOS 8にNethogsをインストールする-ステップバイステップガイド?

  2. CentOS8にFoxitReaderをインストールする-ステップバイステップガイド?

  3. CentOS 8にSteamをインストールする-ステップバイステップガイド?