マルチドメイントラフィック分散を実現するための Nginx 仮想ホスト負荷分散構成

PHPz
リリース: 2023-07-08 12:49:44
オリジナル
1841 人が閲覧しました

マルチドメイン トラフィック分散を実現するための Nginx 仮想ホストの負荷分散構成

はじめに:
最新のネットワーク アプリケーションでは、負荷分散はシステムの安定性とパフォーマンスを向上させる重要な要素です。高性能 Web サーバーとして、Nginx は強力な負荷分散機能を使用してマルチドメイン トラフィック分散を実現できます。この記事では、複数のドメイン名のトラフィック分散を実現するために Nginx 仮想ホストの負荷分散を構成する方法を紹介します。

1. 基本的な環境の準備:
始める前に、Nginx がインストールされていて、次の基本要素があることを確認する必要があります:

  1. 複数のドメイン名が同じサーバー IP;
  2. 各ドメイン名は Nginx 構成ファイルで構成されています。

2. Nginx 仮想ホストの負荷分散構成手順:

  1. 新しい構成ファイル vhost.conf を作成します:
    Nginx 構成ディレクトリに、 vhost.conf という名前の新しいファイルを作成し、次の内容をファイルに追加します:

    http {
     upstream backend {
         server backend1.example.com;
         server backend2.example.com;
         server backend3.example.com;
     }
    
     server {
         listen 80;
         server_name example.com;
    
         location / {
             proxy_pass http://backend;
         }
     }
    }
    ログイン後にコピー

    この構成ファイルでは、backend という名前の負荷分散クラスターを定義します。 com、backend3.example.com は、バックエンド サーバーのドメイン名または IP アドレスです。サーバー ブロックでは、ポート 80 でリッスンし、すべてのリクエストをバックエンド クラスターに転送するように指定します。

  2. メイン設定ファイル nginx.conf を変更します。
    Nginx のメイン設定ファイル nginx.conf を開き、http ブロックの include ステートメントに次の内容を追加します。

    http {
     ...
     include /path/to/vhost.conf;
     ...
    }
    ログイン後にコピー

    /path/to/vhost.conf を実際の vhost.conf ファイルのパスに置き換えます。

  3. Nginx 構成をリロードします:
    vhost.conf および nginx.conf ファイルへの変更を保存し、次のコマンドを実行して Nginx 構成ファイルをリロードします:

    nginx -s reload
    ログイン後にコピー

3. テストと検証:
上記の構成が完了したら、次の手順でテストと検証を行うことができます:

  1. ローカル ホスト ファイルを変更します:
    変更例.comの解決アドレスをNginxサーバーのIPアドレスに変更します。 Windows システムでは、hosts ファイルは C:WindowsSystem32driversetchosts にあり、Linux システムでは、hosts ファイルは /etc/hosts にあります。
  2. ブラウザでテスト ドメイン名にアクセスします:
    ブラウザに http://example.com と入力し、ページを複数回更新して、リクエストがバックエンド サーバーに正常に配信されるかどうかを確認します。 。すべてがうまくいけば、複数のバックエンド サーバーが交互にリクエストに応答していることがわかります。

4. その他の一般的に使用される構成オプション:
基本的な負荷分散構成に加えて、Nginx は、さまざまなニーズを満たすために他の多くの構成オプションも提供します。以下は、一般的に使用される構成オプションの例です。 . :

  1. 重み設定:

    upstream backend {
     server backend1.example.com weight=3;
     server backend2.example.com weight=2;
     server backend3.example.com;
    }
    ログイン後にコピー

    この例では、weight パラメーターを通じてさまざまなバックエンド サーバーの重みを設定します。より高い重みを持つサーバーが割り当てられます。より高いところへ 交通量が多い。

  2. IP フェイルオーバー:

    upstream backend {
     ip_hash;
     server backend1.example.com;
     server backend2.example.com;
     server backend3.example.com;
    }
    ログイン後にコピー

    ip_hash パラメーターを構成すると、Nginx は要求された IP アドレスに基づいてフェイルオーバーします。つまり、同じ IP に対するリクエストは常に分散されます。同じバックエンドサーバーに送信します。

  3. ヘルス チェック:

    http {
     upstream backend {
         server backend1.example.com max_fails=2 fail_timeout=30s;
         server backend2.example.com;
         server backend3.example.com;
     }
    }
    ログイン後にコピー

    max_fails パラメーターとfail_timeout パラメーターを設定することで、Nginx はバックエンド サーバーでヘルス チェックを実行できます。サーバーが max_fails 回連続して失敗すると、一時的に利用不可としてマークされます。fail_timeout パラメーターは、次の試行までの時間間隔を指定します。

結論:
Nginx 仮想ホストの負荷分散構成は、マルチドメイン トラフィック分散を実現するための重要な部分であり、合理的な構成を通じて、システムの可用性とパフォーマンスを向上させることができます。この記事では、基本的な負荷分散構成例を示し、いくつかの一般的な構成オプションを紹介します。読者は、実際のニーズに応じて構成を柔軟に調整し、独自のビジネス ニーズを満たすことができます。この記事が、Nginx 仮想ホストの負荷分散を構成する際の皆様のお役に立てれば幸いです。

以上がマルチドメイントラフィック分散を実現するための Nginx 仮想ホスト負荷分散構成の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート