ホームページ  >  記事  >  運用・保守  >  Web サイトの可用性を向上させるための Nginx 負荷分散構成の実践

Web サイトの可用性を向上させるための Nginx 負荷分散構成の実践

WBOY
WBOYオリジナル
2023-07-04 14:58:37930ブラウズ

Web サイトの可用性を向上させるための Nginx 負荷分散構成の実践

要約: Nginx は、高性能 Web サーバーおよびリバース プロキシ サーバーです。負荷分散構成を通じて、リクエストを複数のバックエンド サーバーに分散できます。改善されました。ウェブサイトの使いやすさとパフォーマンス。この記事では、Nginx の負荷分散の設定方法とサンプルコードの使用方法を紹介します。

  1. 負荷分散とは何ですか?

ロードバランシングとは、リクエストを複数のサーバーに分散する技術であり、負荷を均等に分散することでシステムの安定性やパフォーマンスを向上させることができます。負荷分散により Web サイトの可用性が向上し、バックエンド サーバーに障害が発生した場合でも、他のサーバーが通常どおりサービスを提供できます。

  1. Nginx 負荷分散構成

Nginx は、アップストリーム モジュールを通じて負荷分散を構成できます。次の設定を Nginx 設定ファイル (通常は /etc/nginx/nginx.conf) に追加できます。

http {
    upstream myapp {
        server backend1.example.com;
        server backend2.example.com;
        server backend3.example.com;
    }
    
    server {
        listen 80;
        
        location / {
            proxy_pass http://myapp;
        }
    }
}

上記の設定では、myapp という名前のアップストリーム ブロックを定義します。このブロックには、複数のアドレスが含まれています。バックエンドサーバー。サーバー ブロックでは、proxy_pass ディレクティブを通じてリクエストを myapp に転送します。

  1. 負荷分散戦略

Nginx は、ポーリング (デフォルト戦略)、IP ハッシュ、最小接続など、複数の負荷分散戦略をサポートしています。関連するディレクティブを上流ブロックに追加することで、ポリシーを構成できます。以下に、一般的に使用される負荷分散戦略の例をいくつか示します。

  • ポーリング戦略:

    upstream myapp {
      server backend1.example.com;
      server backend2.example.com;
      server backend3.example.com;
    }
  • IP ハッシュ戦略:

    upstream myapp {
      ip_hash;
      server backend1.example.com;
      server backend2.example.com;
      server backend3.example.com;
    }
  • 最小接続戦略:

    upstream myapp {
      least_conn;
      server backend1.example.com;
      server backend2.example.com;
      server backend3.example.com;
    }
  1. 負荷分散サンプル コード

Nginx 負荷分散構成をより深く理解するには、次のようにします。実際の例を以下に示します。 Web アプリケーションにサービスを提供する 3 つのバックエンド サーバーがあるとします。次の手順に従って構成できます。

  • ステップ 1: Web アプリケーションを各バックエンド サーバーにデプロイし、さまざまなポートでリッスンします。
  • ステップ 2: Nginx サーバーで負荷分散を構成します。

Nginx 設定ファイルの例 (/etc/nginx/nginx.conf):

http {
    upstream myapp {
        server backend1.example.com:8000;
        server backend2.example.com:8000;
        server backend3.example.com:8000;
    }
    
    server {
        listen 80;
        
        location / {
            proxy_pass http://myapp;
        }
    }
}

上の例では、各バックエンド サーバーがポート 8000 でリッスンしていると想定しています。リクエストを myapp に転送すると、Nginx はリクエストを処理するバックエンド サーバーを自動的に選択します。

  1. 概要

Nginx の負荷分散構成により、Web サイトのリクエストを複数のバックエンド サーバーに均等に分散し、Web サイトの可用性とパフォーマンスを向上させることができます。この記事では、Nginx 負荷分散の設定方法とサンプルコードを紹介します。読者がこの記事から、Nginx を介して負荷分散構成を実装し、実際のアプリケーションで Web サイトの可用性を向上させる方法を学んでいただければ幸いです。

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

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