Web サイトの可用性を高めるための Nginx マルチサーバー クラスター構成
最新のインターネット アプリケーションでは、Web サイトの高可用性を確保することが重要です。一般的なアプローチは、複数のサーバーのクラスターを構成して負荷を分散し、Web サイトの可用性とパフォーマンスを向上させることです。この記事では、Nginx を使用して複数のサーバーのクラスターを構成し、負荷分散とフェイルオーバーを実現する方法を紹介します。
まず、Nginx をすべてのサーバーにインストールする必要があります。次のコマンドを使用してインストールできます:
sudo apt-get update sudo apt-get install nginx
インストールが完了したら、Nginx の基本構成を実行する必要があります。 Nginx のメイン設定ファイル nginx.conf
(通常は /etc/nginx/nginx.conf
にあります) を開き、テキスト エディタを使用して編集します。主な設定項目は次のとおりです。
http { upstream backend { server server1.example.com; server server2.example.com; server server3.example.com; } server { listen 80; server_name example.com; location / { proxy_pass http://backend; } } }
上記の設定では、upstream backend
はバックエンド サーバーのリストを定義します。実際の状況に応じて、server1.example.com
および server2.example.com
を実際のサーバーのドメイン名または IP アドレスに置き換えることができます。 server
ブロックで、proxy_pass
ディレクティブを通じてリクエストを backend
バックエンド サーバー クラスターに転送します。
負荷分散を実現するために、Nginx はさまざまな負荷分散アルゴリズムを提供します。一般的なものには、ポーリング (デフォルト)、加重ポーリング、IP ハッシュなどが含まれます。 upstream backend
ブロックにさまざまな weight
属性を追加することで、さまざまな負荷分散戦略を実装できます。負荷分散戦略の一般的な例をいくつか示します。
upstream backend { server server1.example.com; server server2.example.com; server server3.example.com; }
upstream backend { server server1.example.com weight=3; server server2.example.com weight=2; server server3.example.com; }
upstream backend { ip_hash; server server1.example.com; server server2.example.com; server server3.example.com; }
上の例では、ポーリング、加重ポーリング、および IP ハッシュという 3 つの負荷分散戦略を定義しています。実際のニーズに基づいて、適切な戦略を選択できます。
バックエンド サーバーがダウンした場合、または負荷を適切に共有できない場合、Nginx が他の利用可能なサーバーにトラフィックを自動的に転送できることを期待しています。 。これを実現するには、backup
属性を各 server
ブロックに追加し、バックアップ サーバーを構成します。
次は構成例です。server2.example.com
はバックアップ サーバーです:
upstream backend { server server1.example.com; server server2.example.com backup; server server3.example.com; }
この例では、server1.example.com
が正しく動作しない場合、Nginx は自動的にトラフィックを server2.example.com
に転送します。
Nginx 構成ファイルを変更した後、次のコマンドを使用して構成を再ロードし、新しい構成を有効にすることができます:
sudo nginx -s reload
これで、Nginx マルチサーバー クラスターの構成プロセスが完了しました。複数のサーバーのクラスターを構成して負荷分散とフェイルオーバーを実現することにより、Web サイトの可用性とパフォーマンスを向上させることができます。
概要:
Nginx は、マルチサーバー クラスターの構成を通じて Web サイトの可用性とパフォーマンスを向上させることができる強力なオープンソース リバース プロキシ サーバーです。この記事では、Nginx を介してロード バランシングとフェイルオーバーを構成する基本的な方法を紹介し、コード例を示します。読者の皆様には、これらの構成を実際のアプリケーションで柔軟に使用して、ご自身の Web サイトの使いやすさを向上していただければ幸いです。
以上がWeb サイトの可用性を高めるための Nginx マルチサーバー クラスター構成の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。