ホームページ >運用・保守 >Nginx >Web サイトの可用性を高めるための Nginx マルチサーバー クラスター構成

Web サイトの可用性を高めるための Nginx マルチサーバー クラスター構成

王林
王林オリジナル
2023-07-06 17:55:372371ブラウズ

Web サイトの可用性を高めるための Nginx マルチサーバー クラスター構成

最新のインターネット アプリケーションでは、Web サイトの高可用性を確保することが重要です。一般的なアプローチは、複数のサーバーのクラスターを構成して負荷を分散し、Web サイトの可用性とパフォーマンスを向上させることです。この記事では、Nginx を使用して複数のサーバーのクラスターを構成し、負荷分散とフェイルオーバーを実現する方法を紹介します。

  1. 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 バックエンド サーバー クラスターに転送します。

  1. 負荷分散の構成

負荷分散を実現するために、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;
}
  • IP ハッシュ:
upstream backend {
  ip_hash;
  server server1.example.com;
  server server2.example.com;
  server server3.example.com;
}

上の例では、ポーリング、加重ポーリング、および IP ハッシュという 3 つの負荷分散戦略を定義しています。実際のニーズに基づいて、適切な戦略を選択できます。

  1. フェイルオーバーの実現

バックエンド サーバーがダウンした場合、または負荷を適切に共有できない場合、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 に転送します。

  1. 構成のリロード

Nginx 構成ファイルを変更した後、次のコマンドを使用して構成を再ロードし、新しい構成を有効にすることができます:

sudo nginx -s reload

これで、Nginx マルチサーバー クラスターの構成プロセスが完了しました。複数のサーバーのクラスターを構成して負荷分散とフェイルオーバーを実現することにより、Web サイトの可用性とパフォーマンスを向上させることができます。

概要:

Nginx は、マルチサーバー クラスターの構成を通じて Web サイトの可用性とパフォーマンスを向上させることができる強力なオープンソース リバース プロキシ サーバーです。この記事では、Nginx を介してロード バランシングとフェイルオーバーを構成する基本的な方法を紹介し、コード例を示します。読者の皆様には、これらの構成を実際のアプリケーションで柔軟に使用して、ご自身の Web サイトの使いやすさを向上していただければ幸いです。

以上がWeb サイトの可用性を高めるための Nginx マルチサーバー クラスター構成の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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