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

CentOS 8 /RHEL8にHAProxyをインストールして設定する方法

HAProxy High Availability Proxyの略で、着信トラフィック( TCP )のバランスをとることができる無料のオープンソースロードバランサーツールです。 およびHTTPベース )異なる基準を使用してバックエンドサーバー全体に分散することによって。

つまり、HAProxyは、1つのノードが同時に要求を取得しすぎた場合に、フォールトトレランスと高可用性を提供するために使用されていると言えます。 GitHub、Stack Overflow、Tumblerなどの最も有名なWebサイトで使用されています。

この記事では、NginxWebサーバー用のCentOS8 /RHEL8にHAProxyをインストールして構成する方法について説明します。以下は、私のhaproxyラボのセットアップの詳細です。

  • HAProxyサーバー– 192.168.1.10(haproxy-centos8)
  • Nginxサーバー1– 192.168.1.11(nginx-node01)
  • Nginxサーバー2– 192.168.1.12(nginx-node01)

CentOS 8 /RHEL8でのHAProxyのインストールと構成の手順に進みましょう

ステップ:1)HAProxyサーバーの/ etc/hostsファイルを更新します

haproxyをインストールするCentOS8またはRHEL8システムにログインし、/ etc/hostsファイルに次の行を追加します。

192.168.1.10    haproxy-centos8
192.168.1.11    nginx-node01
192.168.1.12    nginx-node02

ホストファイルを更新したら、Nginxノードにpingできることを確認してください。

手順:2)CentOS 8 /RHEL8にHAProxyをインストールして構成する

Haproxyパッケージは、CentOS8およびRHEL8のデフォルトのパッケージリポジトリで利用できるため、dnfコマンドを使用して簡単にインストールできます。ただし、haproxyをインストールする前にシステムを更新することをお勧めします。したがって、次のコマンドを実行します。

[email protected] ~]# dnf update -y
[email protected] ~]# reboot

次に、次のdnfコマンドを使用してhaproxyをインストールします

[[email protected] ~]# dnf install haproxy

haproxyが正常にインストールされたら、構成ファイル「 /etc/haproxy/haproxy.cfg」を編集して構成します。 「。

ファイルを編集する前に、元のファイルのバックアップを作成し、次のコマンドを実行することをお勧めします。

[[email protected] ~]# cd /etc/haproxy/
[[email protected] haproxy]# cp haproxy.cfg haproxy.cfg-org
[[email protected] haproxy]#

構成ファイルで、2つのセクションフロントエンドを変更します およびバックエンド 。フロントエンドセクションでは、haproxy IPとそのポート、統計URI、およびバックエンド名を定義します。バックエンドセクションでは、ラウンドロビンや最小接続など、使用する負荷分散アルゴリズムのタイプと、バックエンドサーバーの名前、IP、ポートを定義します。例を以下に示します。

[[email protected] haproxy]# vi haproxy.cfg
…………………
frontend http_balancer
    bind 192.168.1.10:80
    option http-server-close
    option forwardfor
    stats uri /haproxy?stats

#    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     nginx_webservers

backend nginx_webservers
    mode        http
    balance     roundrobin
    option httpchk HEAD / HTTP/1.1\r\nHost:\ localhost    
    server  nginx-node01  192.168.1.11:80  check
    server  nginx-node02  192.168.1.12:80  check
 ………………………………

ファイルを保存して終了します

すべてのHAProxy統計を保存するようにrsyslogを構成し、rsyslog構成ファイル「/etc/rsyslog.conf」を編集します。 」と19行目と20行目のコメントを外します

[[email protected] ~]# vi /etc/rsyslog.conf
……
module(load="imudp")
input(type="imudp" port="514")
……

ファイルを保存して終了します。

次に、rsyslogのhaproxy.confファイルを作成し、次の行を貼り付けます。

[[email protected] ~]# vi /etc/rsyslog.d/haproxy.conf
local2.=info     /var/log/haproxy-access.log
local2.notice    /var/log/haproxy-info.log
>

ファイルを保存して終了します

rsyslogサービスを再起動して有効にし、再起動後も利用できるようにします

[[email protected] ~]# systemctl restart rsyslog
[[email protected] ~]# systemctl enable rsyslog

最後にhaproxyを開始しますが、haproxyサービスを開始する前に、次のselinuxルールを設定します。

[[email protected] ~]# setsebool -P haproxy_connect_any 1

以下のsystemctlコマンドを使用してhaproxyを起動して有効にします

[[email protected] ~]# systemctl start haproxy
[[email protected] ~]# systemctl enable haproxy

OSファイアウォールでhaproxyポート(この場合は80)を許可し、underfire-cmdコマンドを実行します。

[[email protected] ~]# firewall-cmd --permanent --add-port=80/tcp
[[email protected] ~]# firewall-cmd --reload

これでHAProxyのインストールと構成の部分が完了するまで、Nginxノードに移動しましょう。

手順:3)NGINXをインストールしてサービスを開始します

両方のnginxノードにログインし、nginxをインストールして、次のコマンドを使用してサービスを開始します。

# dnf install nginx -y
# systemctl start nginx
# systemctl enable nginx

それぞれのノードのindex.htmlファイルを変更してみましょう

nginx-node01の場合

[[email protected] ~]# cd /usr/share/nginx/html
[[email protected] html]# echo "Nginx Node01 - Welcome to First Nginx Web Server" > index.html

nginx-node02の場合

[[email protected] ~]# cd /usr/share/nginx/html
[[email protected] html]# echo "Nginx Node02 - Welcome to 2nd Nginx Web Server" > index.html

以下のコマンドを使用して、両方のノードのOSファイアウォールでNginxポート(80)を許可します

# firewall-cmd --permanent --add-service=http
# firewall-cmd --reload

ステップ:4)HAProxyが正しく機能しているかどうかをテストします

haproxyサーバーにログインし、curlコマンドを数回実行して、トラフィックがラウンドロビン方式で分散されているかどうかを確認します

[[email protected] ~]# curl 192.168.1.10

完璧です。これにより、haproxyが2つのノード間でトラフィックを分散しているため、正しく機能していることが確認されます。

Webブラウザからも確認しましょう

上記は、HAProxyがCentOS8およびRHEL8で正常に構成されたことを確認します。

Webブラウザでhaproxyのステータスを表示するには、次のように入力します。url:http:// / haproxy?stats

この場合、URLはhttp://192.168.1.10/haproxy?stats

になります。

ログファイル( /var/log/haproxy-access.log )からHAProxy統計を表示することもできます 。

このチュートリアルは以上です。これらの手順が、CentOS8およびRHEL8でHAProxyをスムーズにセットアップするのに役立つことを願っています。貴重なフィードバックやコメントをぜひ共有してください。

また読むCentOS8でDjangoPythonFrameworkをセットアップする方法


Cent OS
  1. CentOS /RHEL7/6にHAProxyをインストールして設定する方法

  2. CentOS / RHEL 7 :telnet をインストールして構成する方法

  3. CentOS / RHEL に Samba をインストールして構成する方法

  1. RHEL 8 / CentOS8LinuxにHAProxyをインストールして構成する

  2. RHEL 8 / CentOS8LinuxシステムにRをインストールして構成する方法

  3. RHEL 8 /CentOS8にsambaをインストールして設定する方法

  1. CentOS7およびRHEL7にVNCサーバーをインストールして構成する

  2. CentOS 7 /RHEL7にoVirt4.0をインストールして構成する方法

  3. CentOS7およびRHEL7にJenkinsをインストールして構成する方法