ホームページ  >  記事  >  運用・保守  >  Nginx をリバース プロキシと HTTP リクエストの負荷分散に使用する方法

Nginx をリバース プロキシと HTTP リクエストの負荷分散に使用する方法

PHPz
PHPzオリジナル
2023-08-03 11:45:391396ブラウズ

リバース プロキシと HTTP リクエストの負荷分散に Nginx を使用する方法

はじめに:
インターネットの急速な発展に伴い、大量の HTTP リクエストを処理する必要がある Web サイトがますます増えています。この場合、システムの安定性と拡張性を確保するには、リバース プロキシと負荷分散を使用することが非常に重要です。 Nginx は高性能 Web サーバーとして、強力なリバース プロキシ機能と負荷分散機能を提供します。この記事では、Nginx を使用してリバース プロキシと HTTP リクエストの負荷分散を実現する方法を詳しく紹介します。

1. リバース プロキシとロード バランシングとは何ですか

  1. リバース プロキシ
    リバース プロキシとは、クライアントがサーバーと直接通信するのではなく、リバース プロキシ サーバーと通信することを意味します。を実行すると、リバース プロキシ サーバーはリクエストをバックエンドの実サーバーに転送して処理し、結果をクライアントに返します。リバース プロキシはバックエンド サーバーの詳細を隠し、システムのセキュリティとスケーラビリティを向上させることができます。
  2. 負荷分散
    負荷分散とは、クライアントからのリクエストを複数のサーバーに均等に分散して、リソースの使用率とサービスの応答速度を向上させることです。負荷分散により、システムの信頼性とパフォーマンスが向上します。

2. リバース プロキシに Nginx を使用する

  1. Nginx のインストール
    まず、Nginx をインストールする必要があります。 Ubuntu を例として、次のコマンドを実行してインストールします。

    sudo apt-get update
    sudo apt-get install nginx
  2. リバース プロキシを構成する
    Nginx 構成ファイル (通常は /etc/nginx/nginx.conf) または /etc/nginx/conf.d/default.conf) に次の設定を追加します:

    http {
     server {
         listen 80;
         server_name yourdomain.com;
    
         location / {
             proxy_pass http://backend-server;
         }
     }
    
     upstream backend-server {
         server backend1 ip:port;
         server backend2 ip:port;
         server backend3 ip:port;
         # 可以根据需求配置更多的后端服务器
     }
    }

    これは、location / がある場合に指定されます。はリクエストです。 / パスにアクセスすると、backend-server で構成されたバックエンド サーバーにリクエストを転送します。

  3. Nginx を再起動します
    構成が完了したら、次のコマンドを実行して Nginx 構成ファイルを再読み込みします:

    sudo systemctl restart nginx

    この時点で、Nginx のリバース プロキシ構成はNginxが完成しました。

3. 負荷分散に Nginx を使用する

  1. 負荷分散を構成する
    Nginx 構成ファイル内でアップストリーム バックエンド - 「server」セクションでは、複数のバックエンド サーバーを構成できます。Nginx はバランスの取れた方法でこれらのサーバーにリクエストを自動的に分散します。ポーリング、IP ハッシュなど、さまざまな負荷分散戦略を採用できます。次に、ポーリングの設定例を示します。

    http {
     upstream backend-server {
         server backend1 ip:port;
         server backend2 ip:port;
         server backend3 ip:port;
         # 可以根据需求配置更多的后端服务器
         # 默认采用轮询策略
     }
    }
  2. 負荷分散のテスト
    設定が完了したら、次のコマンドを使用して負荷分散の効果をテストできます。

    for i in {1..10}; do curl yourdomain.com; done

    Here Use the curl コマンドを使用して、10 個のリクエストを yourdomain.com に送信することをシミュレートします。リクエストが複数のバックエンド サーバーに均等に分散されることがわかります。

結論:
上記の手順を通じて、リバース プロキシと HTTP リクエストの負荷分散に Nginx を使用する方法を学びました。リバース プロキシとロード バランシングは、高性能、高可用性のシステムを構築する上で重要なコンポーネントであり、実際のアプリケーションで広く使用されています。この記事が、読者が Nginx が提供するこれら 2 つの機能を理解し、使用する一助になれば幸いです。

以上がNginx をリバース プロキシと HTTP リクエストの負荷分散に使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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