GNU/Linux >> Linux の 問題 >  >> Ubuntu

Debian 9 /Ubuntu16.04サーバーでHAProxyを設定する方法

HAProxyは、高可用性と負荷分散のための無料のオープンソースソリューションであり、TCPおよびHTTPベースのアプリケーションのプロキシにも使用できます。 HAProxyは、Linux、Solaris、およびFreeBSDにインストールおよび構成できます。 HAProxyは、サーバーの負荷分散と高可用性機能の使用によりサーバーのパフォーマンスと信頼性を向上させるため、トラフィックが多いWebサイトに最適なソリューションです。

HAProxyは、GitHub、Bitbucket、Stack Overflow、Reddit、Tumblr、Twitterなど、最も人気のある多くのWebサイトで使用されており、Amazon Web ServicesのOpsWorks製品でも使用されています。このチュートリアルでは、Haproxyをインストールして使用する方法を学習します。 Debian9およびUbuntu16.04サーバー用。まず、Debian9へのHaproxyのインストールから始めます

Debian9へのHAProxyのインストール

現在、Debian 9でサポートされているhaproxyの最新の安定バージョンは1.8ですが、これのみをインストールします。まず、Debian 9でバックポートリポジトリを有効にする必要があります。これを行うには、次のコマンドを使用します。

 [[email protected]〜]#echo deb http://httpredir.debian.org/debian Stretch-backports main | tee /etc/apt/sources.list.d/backports.list 

完了したら、次のコマンドを使用して専用リポジトリを有効にします。

 [[email protected]〜]#curl https://haproxy.debian.net/bernat.debian.org.gpg | apt-key add-[[email protected]〜]#echo deb http://haproxy.debian.net Stretch-backports-1.8 main | tee /etc/apt/sources.list.d/haproxy.list 

これで、上記で追加したリポジトリを使用してhaproxyをインストールできます。

 [[email protected]〜]#apt-get update [[email protected]〜]#apt-get install haproxy -t Stretch-backports \ * 

これにより、Debian 9システムにhaproxyがインストールされます。次に、Ubuntu16.04システムへのインストールについて説明します。

Ubuntu16.04へのHAProxyのインストール

HAProxy 1.8は、Ubuntu16.04の最新バージョンでもあります。 Ubuntuにはインストールに使用できる専用のPPAがあり、次のコマンドを使用してインストールします。

 [[email protected]〜] $ sudo apt-get install software-properties-common [[email protected]〜] $ sudo add-apt-repository ppa:vbernat / haproxy-1.8 

リポジトリを追加したら、次のコマンドを使用してhaproxy1.8をインストールします。

 [[email protected]〜] $ sudo apt-get update [[email protected]〜] $ sudo apt-get install haproxy 

これで、haproxyの準備が整いました。このチュートリアルでは、メールサーバーとウェブサーバーからのリクエストの負荷を分散するようにHAProxyを設定します。

メールサーバーとHAProxyの負荷分散

この例では、IPアドレスがそれぞれ192.168.1.10と192.168.1.20の2つのSMTPサーバーを使用します。

haproxyサーバーのIPアドレスは192.168.1.100です。

ここで、メインのHAProxy構成ファイル(「 /etc/haproxy/haproxy.cfg 」)に変更を加えます。 ‘次に、2つのSMTPサーバーの負荷分散のために構成を変更します。

 [[email protected]〜] $ sudo vi /etc/haproxy/haproxy.cfgglobal log / dev / log local0 log / dev / log local1notice mode tcp option tcplog option dontlognullfrontend front_smtp bind *:25 mode tcp default_backend back_smtpbackend back_smtp mode tcp balance roundrobin server smtp1 192.168.1.10 

ここでは、ほとんどのオプションがデフォルトで設定されています。ここで変更する主なものは、「フロントエンド」です。 ‘&‘バックエンド ‘セクション。

フロントエンドfront_smtp

バインド*:25

モードtcp

default_backend back_smtp

ここでは、フロントエンドの名前、つまりfront_smtpを定義し、バインドパラメータを使用してポート25からすべてのリクエストを受け取るように依頼しました。最後に、すべてのリクエストが配信される「back_smtp」という名前のバックエンドセクションについて説明しました。

バックエンドback_smtp

モードtcp

バランスラウンドロビン

サーバーsmtp1192.168.1.10:25チェック

サーバーsmtp2192.168.1.20:25チェック

このセクションでは、バックエンドの名前を設定しました。つまり、送信のback_smtpとモードはtcpであり、使用される負荷分散方法は「ラウンドロビン」です。 ‘。使用できる他の負荷分散方法は、加重ラウンドロビンです。 、動的ラウンドロビンアルゴリズム最小接続アルゴリズム 、 ソース。最後に、両方のSMTPサーバーのサーバーアドレスについて説明しました。

変更が加えられたら、ファイルを保存し、haproxyサービスを再起動して変更を実装します。

 [[email protected]〜] $ sudo service haproxy restart 

これで、Haproxyサーバーがメールサーバーのロードバランサーとして機能する準備が整いました。ここで、SMTPサーバーアドレスを使用するのではなく、HAPROXYのサーバーアドレスを使用する必要があります。つまり、haproxyロードバランシングを機能させるには192.168.1.100:25です。

SMTPサーバーの負荷分散が機能しているかどうかを確認するには、telnetを使用できます。

telnetコマンドの出力は次のようになります。

 [[email protected]〜] $ telnet 192.168.1.100 25 192.168.1.100..Connectedto192.168.1.100。エスケープ文字は「^]」です。220smtp1.linuxtechi.comESMTPPostfix

ここで、もう一度telnetコマンドを実行します。

 [[email protected]〜] $ telnet 192.168.1.100 25 192.168.1.100..Connectedto192.168.1.100。エスケープ文字は「^]」です。220smtp2.linuxtechi.comESMTPPostfix

両方の出力でメールサーバーのサーバーが変更されていることに注意してください。これは、負荷分散が正常に機能していることを示しています。次に、Webサーバーの負荷分散のハーポキシの例について説明します。

HAProxyを使用したWebサーバーの負荷分散

同じファイルが「/etc/haproxy/haproxy.cfg」で編集されます。バックエンドで2つのWebサーバー(192.168.1.10と192.168.1.20)を使用します。 haproxyサーバーのIPアドレスは192.168.1.100です。

haproxyのメイン設定ファイルを開き、次の変更を加えます。

<前> [[電子メールが保護された]〜] $ sudoのviの/etc/haproxy/haproxy.cfgglobalログは/ dev /ログインLOCAL0ログは/ dev / local1の予告chroot環境の/ var / libに/ haproxyユーザーhaproxyグループhaproxy MAXCONN 1024 daemondefaultsは、グローバルログログmode http option httplog option dontlognullfrontend www-http bind *:80 mode http default_backend apachebackend apache mode http balance roundrobin server web1 192.168.1.10 server web2 192.168.1.2

ファイルを保存し、haproxyサービスを再起動して、変更を実装します。

 [[email protected]〜] $ sudo service haproxy restart 

負荷分散が機能しているかどうかをテストするために、両方のサーバーに2つの異なるWebページを配置できます。たとえば、Webサーバー1のindex.htmlを変更できます

 [[email protected]〜] $ sudovi/var/www/html/index.htmlこれはWEBサーバー1です

&同様に、Webサーバー2では、index.htmlを編集して次のように言うことができます。

 [[email protected]〜] $ sudovi/var/www/html/index.htmlこれはWEBサーバー2です

加えられた変更を実装するために、Webサービスを再起動することを忘れないでください。

次に、haproxy IPアドレス192.168.1.100を使用し、Webブラウザを使用してアクセスします。

ブラウザを更新するたびに、両方のWebサーバーからのWebページを交互に表示する必要があります。

これは、Webサーバーの負荷分散も正常に機能していることを示しています。これで、Debian9とUbuntu16.04にHAProxyをインストールして使用する方法に関するチュートリアルを終了します。下のコメントボックスを使用して、お気軽に質問や提案を送信してください


Ubuntu
  1. DebianまたはUbuntuにOpenLDAPサーバーをインストールする方法

  2. Ubuntu20.04にDHCPサーバーをインストールして構成する方法

  3. Ubuntu20.04にHAProxyロードバランサーをインストールして構成する方法

  1. Ubuntu20.04にNFSサーバーをインストールして構成する方法

  2. Ubuntu /DebianLAMPサーバーをセットアップする方法

  3. CentOS 7 / Ubuntu 18.04 / 16.04 /Debian9でDHCPサーバーを構成する方法

  1. Ubuntu20.04にVNCをインストールして構成する方法

  2. Ubuntu18.04にVNCをインストールして構成する方法

  3. Ubuntu18.04でMySQLマスタースレーブレプリケーションを構成する方法