ホームページ  >  記事  >  運用・保守  >  Linux で負荷分散を実装する方法

Linux で負荷分散を実装する方法

王林
王林オリジナル
2023-07-05 13:57:201593ブラウズ

Linux でロード バランシングを実装する方法

ロード バランシングとは、リクエストを複数のサーバーに分散してサーバーの負荷のバランスをとり、システムの可用性とパフォーマンスを向上させることを指します。 Linux システムでは、LVS (Linux Virtual Server) と Nginx を使用して負荷分散を実現できます。ここでは、LVSとNginxを使用して負荷分散構成を行う方法を紹介します。

  1. LVS を使用して負荷分散を実現する

LVS は、カーネル モジュールに基づく負荷分散ソフトウェアであり、リクエストを複数のバックエンド サーバーに分散できます。 LVS を使用して負荷分散を実現する手順は次のとおりです。

(1) LVS ソフトウェア パッケージをインストールします

LVS パッケージを Linux システムにインストールするには、次のコマンドを使用します。 #

sudo apt-get install ipvsadm

(2 ) 仮想サーバーのセットアップ

仮想サーバーを作成し、リクエストを複数のバックエンド サーバーに分散します。以下は仮想サーバー設定の例です:

sudo ipvsadm -A -t <VIP>:<PORT> -s <SCHEDULER>
sudo ipvsadm -a -t <VIP>:<PORT> -r <RSERVER1>:<RPORT> -g
sudo ipvsadm -a -t <VIP>:<PORT> -r <RSERVER2>:<RPORT> -g
sudo ipvsadm -a -t <VIP>:<PORT> -r <RSERVER3>:<RPORT> -g

ここで、d16858d06c37b54cd3757ae2bb2d850d は仮想 IP アドレス、a3b0c87895079be75e30be94102cc20b はリクエストを受信するためのポート番号、aafe67dddf4dd54bb44fcdf1157ce3a0 はスケジューラのタイプ ( wrr、lc、rr など)、4ea860c6dbd8cf4ed5a7be20ff7abf48、77c26d04dad5ab6ccfc3af1cb4919e0f、7a9ad000964b68912c51285f4b2b4643 はバックエンド サーバーの IP アドレス、74c92d05381c789cb9097315de09e73a はバックエンド サーバーのポート番号です。

(3) IP 転送を有効にする

Linux システムで IP 転送を有効にするには、次のコマンドを使用します。

sudo sysctl -w net.ipv4.ip_forward=1

    Nginx を使用して負荷分散を実現します
Nginx は、負荷分散の実現にも使用できる高性能のオープンソース Web サーバー ソフトウェアです。 Nginx を使用して負荷分散を実現する手順は次のとおりです。

(1) Nginx ソフトウェア パッケージをインストールします

Linux システムに Nginx ソフトウェア パッケージをインストールするには、次のコマンドを使用します。 ##
sudo apt-get install nginx

( 2) Nginx 構成ファイルを変更します

Nginx 構成ファイルを編集します (通常は /etc/nginx/nginx.conf にあります)。「http」ブロック内の「server」ブロックを見つけます。

http {
    upstream myapp {
        server <RSERVER1>:<RPORT>;
        server <RSERVER2>:<RPORT>;
        server <RSERVER3>:<RPORT>;
    }

    server {
        listen <VIP>:<PORT>;

        location / {
            proxy_pass http://myapp;
        }
    }
}

このうち、4ea860c6dbd8cf4ed5a7be20ff7abf48、77c26d04dad5ab6ccfc3af1cb4919e0f、7a9ad000964b68912c51285f4b2b4643 はバックエンド サーバーの IP アドレス、74c92d05381c789cb9097315de09e73a はバックエンド サーバーのポート番号です。バックエンド サーバー、 は仮想 IP アドレス、 はリクエストを受信するポート番号です。

(3) Nginx サービスを再起動します

次のコマンドを使用して Nginx サービスを再起動します:

sudo service nginx restart

Nginx は他の負荷分散アルゴリズムと構成もサポートしていることに注意してくださいオプションを使用すると、実際のニーズに応じて調整できます。

上記は、LVS と Nginx を使用して Linux システムで負荷分散を実現する方法の手順です。これらのツールを適切に構成して使用することにより、システムの可用性とパフォーマンスを効果的に向上させ、さまざまなインターネット アプリケーションやサービスに適用できます。

以上がLinux で負荷分散を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。