ホームページ  >  記事  >  運用・保守  >  高可用性負荷分散システムの構築: Nginx Proxy Manager のベスト プラクティス

高可用性負荷分散システムの構築: Nginx Proxy Manager のベスト プラクティス

WBOY
WBOYオリジナル
2023-09-27 08:22:471435ブラウズ

构建高可用性的负载均衡系统:Nginx Proxy Manager的最佳实践

高可用性ロード バランシング システムの構築: Nginx Proxy Manager のベスト プラクティス

はじめに:
インターネット アプリケーションの開発において、ロード バランシング システムは必須 必須コンポーネントの 1 つ。リクエストを複数のサーバーに分散することで、高い同時実行性と高可用性のサービスを実現できます。 Nginx Proxy Manager は一般的に使用される負荷分散ソフトウェアです。この記事では、Nginx Proxy Manager を使用して高可用性負荷分散システムを構築する方法を紹介し、いくつかの実践的なコード例を示します。

1. Nginx Proxy Manager をインストールします

  1. Nginx Proxy Manager をダウンロードしてインストールします:

    $ wget http://nginx.org/download/nginx-1.20.1.tar.gz
    $ tar -zxf nginx-1.20.1.tar.gz
    $ cd nginx-1.20.1
    $ ./configure
    $ make
    $ sudo make install
  2. Nginx Proxy Manager を構成します:

    $ cd /etc/nginx/
    $ sudo vim nginx.conf

    次の内容を nginx.conf に追加します:

    http {
        upstream backend {
            server server1.example.com;
            server server2.example.com;
            server server3.example.com;
        }
    
        server {
            listen 80;
            location / {
                proxy_pass http://backend;
            }
        }
    }

3. 高可用性を実現するには
高可用性を実現するには、複数の Nginx プロキシを構成します。サーバーを管理し、負荷分散に Nginx のアップストリーム モジュールを使用します。いくつかのベスト プラクティスを次に示します。

  1. ドメイン名ラウンド ロビン (ラウンド ロビン) を使用します。

    upstream backend {
        ip_hash;
        server server1.example.com;
        server server2.example.com;
        server server3.example.com;
    }

    ip_hash ディレクティブを使用すると、すべてのクライアント リクエストが常に同じエンドから送信されるようになります。サーバー処理。

  2. ヘルス チェックの追加:

    upstream backend {
        server server1.example.com;
        server server2.example.com backup;
        server server3.example.com;
        
        health_check interval=5s;
    }

    health_check コマンドは、バックエンド サーバーが利用可能かどうかを定期的にチェックし、利用できないサーバーを負荷分散プールから一時的に削除して、正常なサーバーはリクエストの処理に参加します。

  3. 重みを使用する:

    upstream backend {
        server server1.example.com weight=3;
        server server2.example.com weight=2;
        server server3.example.com weight=1;
    }

    weight ディレクティブは、バックエンド サーバーのパフォーマンスに応じて異なる重みを割り当てることができるため、より合理的な負荷分散を実現できます。

4. 監視とチューニング
実際のアプリケーションでは、Nginx Proxy Manager のパフォーマンスをリアルタイムで監視し、システムの安定性を向上させるために調整する必要があります。いくつかの提案があります:

  1. Nginx ステータス モジュールを使用します:
    nginx.conf に次の内容を追加します:

    location /nginx_status {
        stub_status;
    }

    http://your-domain にアクセスします。 /nginx_status、リクエストの総数、アクティブな接続の数などの Nginx ステータス情報を取得できます。

  2. 監視結果に基づくチューニング:
    監視を通じて、接続数が制限を超えている、リクエストの応答時間が長すぎるなど、パフォーマンスのボトルネックを見つけることができます。監視結果に基づいて、worker_process数の増加やバックエンドサーバーの重みの調整など、Nginx Proxy Managerの構成をタイムリーに調整できます。

5. 概要
この記事では、Nginx Proxy Manager を使用して高可用性負荷分散システムを構築する方法を紹介し、いくつかの実践的なコード例を示します。合理的な構成と監視と調整を通じて、負荷分散システムのパフォーマンスと信頼性を向上させ、ユーザーにより良いサービス エクスペリエンスを提供できます。

参考資料:

  • [Nginx 公式ドキュメント](http://nginx.org/en/docs/)
  • [Nginx Wiki](https: //wiki.nginx.org/Main)

多読:

  • [Nginx 実戦](https://book.douban.com/subject/26378178) / )
  • 【Nginx高機能Webサーバー徹底解説】(https://book.douban.com/subject/6786600/)

以上が高可用性負荷分散システムの構築: Nginx Proxy Manager のベスト プラクティスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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