ホームページ  >  記事  >  運用・保守  >  高可用性 Web クラスターを作成するための Nginx 負荷分散構成

高可用性 Web クラスターを作成するための Nginx 負荷分散構成

WBOY
WBOYオリジナル
2023-07-04 19:43:402188ブラウズ

高可用性 Web クラスターを作成するための Nginx 負荷分散構成

はじめに:
最新のインターネット アプリケーションのアーキテクチャでは、負荷分散はサーバー上の複数のサーバーにリクエストを分散できる一般的な技術的手段です。これにより、システムのスループットと可用性が向上します。 Nginx の負荷分散機能は、高性能 Web サーバーおよびリバース プロキシ サーバーとして広く使用され、認知されています。この記事では、負荷分散構成に Nginx を使用して高可用性 Web クラスターを作成する方法を紹介します。

1. Nginx 負荷分散の基本概念

  1. 負荷分散アルゴリズム: Nginx は、ラウンドロビン、IP ハッシュ (ip_hash)、URL ハッシュ (url_hash) などの複数の負荷分散アルゴリズムをサポートしています。等ポーリング アルゴリズムはデフォルトの負荷分散アルゴリズムであり、リクエストをバックエンド サーバーに順番に分散します。一方、ハッシュ アルゴリズムは、クライアント IP アドレスや URL などの特定の条件に基づいてリクエストを固定バックエンド サーバーに分散します。
  2. バックエンド サーバー グループ: Nginx 負荷分散構成では、複数のバックエンド サーバーをサーバー グループとして定義する必要があります。各サーバー グループには一意の名前と一連のアドレスがあり、Nginx は負荷分散アルゴリズムに基づいてリクエストをこれらのアドレスに分散します。

2. Nginx ロード バランシング設定例

以下は、2 つのバックエンド サーバー (192.168.1.100 と 192.168.1.101) があると仮定した、簡単な Nginx ロード バランシング設定例です。負荷分散にポーリング アルゴリズムを使用します。

  1. Nginx をインストールして開始します:
    Ubuntu システムでは、次のコマンドを使用して Nginx をインストールできます:

    sudo apt-get update
    sudo apt-get install nginx

インストール後次のコマンドで Nginx を開始します:

sudo systemctl start nginx
  1. 負荷分散を構成します:
    Nginx 構成ファイル (通常は /etc/nginx/nginx.conf) を開いてサーバーを見つけますhttp モジュール ブロックの下に、次の内容を追加します。

    http {
     upstream backend {
         server 192.168.1.100;
         server 192.168.1.101;
     }
     
     server {
         listen 80;
         
         location / {
             proxy_pass http://backend;
         }
     }
    }

    上記の構成では、http モジュールに backend という名前のサーバー グループを定義しました。これには、2 つのバックエンド サーバーのアドレスが含まれています。サーバー ブロックでは、proxy_pass ディレクティブを通じてリクエストをバックエンド サーバー グループに転送します。

  2. Nginx を再起動します:
    構成が完了したら、次のコマンドを使用して Nginx を再起動し、構成を有効にします:

    sudo systemctl restart nginx

この時点で、Nginx の負荷分散の設定は完了です。

3. Nginx 負荷分散アルゴリズムの調整
実際のアプリケーションでは、特定のビジネス ニーズに応じて負荷分散アルゴリズムを調整する必要がある場合があります。一般的なチューニング方法は次のとおりです。

  1. ハッシュ アルゴリズムを使用する: ハッシュ アルゴリズムは、特定の条件に基づいてリクエストを固定バックエンド サーバーに割り当てることができ、これにより、一部の特定のリクエストが常に同じサーバーに送信されるようになります。サーバ。たとえば、クライアントの IP アドレスまたは URL に基づいてハッシュ アルゴリズムを構成できます。
  2. 重み設定: Nginx は、サーバーのパフォーマンスと負荷に応じて動的に調整できるように、さまざまなバックエンド サーバーに異なる重みを設定することもサポートしています。たとえば、より多くのリクエストを処理できるように、パフォーマンスの高いサーバーに対してより高い重み値を設定できます。
  3. ヘルス チェック: Nginx は、定期的なヘルス チェックを通じてバックエンド サーバーの可用性を監視することもできます。サーバーがダウンしたり、負荷が高すぎる場合、Nginx はサーバー グループからそのサーバーを自動的に削除して、リクエストが確実に実行されるようにします。処理できないサーバーには送信されません。

結論:
高性能 Web サーバーおよびリバース プロキシ サーバーとして、Nginx の負荷分散機能は、高可用性 Web クラスターを構築する上で重要な部分です。合理的な負荷分散の構成と調整を通じて、システムのスループットと可用性を向上させることができます。この記事が、誰もが Nginx ロード バランシングを理解し、使用するのに役立つことを願っています。

以上が高可用性 Web クラスターを作成するための Nginx 負荷分散構成の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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