ホームページ  >  記事  >  運用・保守  >  Linux で高可用性リバース プロキシ (Nginx など) を構成する方法

Linux で高可用性リバース プロキシ (Nginx など) を構成する方法

PHPz
PHPzオリジナル
2023-07-05 08:57:181490ブラウズ

Linux で高可用性リバース プロキシ (Nginx など) を構成する方法

要約:
リバース プロキシは、サービスの負荷分散機能とフォールト トレランスを向上させるためにネットワーク アーキテクチャで一般的に使用されるテクノロジです。 。この記事では、Nginx を例として、Linux システム上で高可用性リバース プロキシを構成する方法を紹介します。

  1. Nginx のインストール
    まず、Linux システムに Nginx をインストールする必要があります。インストールは次のコマンドで完了できます。

    sudo apt-get update
    sudo apt-get install nginx
  2. リバース プロキシの構成
    Nginx でのリバース プロキシの構成は非常に簡単です。 Nginx 構成ファイル /etc/nginx/nginx.conf を編集し、http ブロックに次の内容を追加します。

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

    上記の構成では、backend という名前のファイルを定義しました。 の上流ブロック。プロキシを必要とするバックエンド サーバーをリストします。 server ブロックは、リスニング ポートとドメイン名を指定し、リクエストを backend に転送します。

  3. 負荷分散戦略の構成
    上記の構成では、デフォルトでラウンドロビン負荷分散戦略が使用されます。つまり、各リクエストは順番にバックエンド サーバーに配信されます。より複雑な負荷分散戦略が必要な場合は、必要に応じて構成できます。
    以下は一般的な負荷分散ポリシーの例です:

a. IP ハッシュ

upstream backend {
    ip_hash;
    server backend1.example.com;
    server backend2.example.com;
    server backend3.example.com;
}

IP ハッシュ ポリシーは、クライアントのリクエストを IP アドレスに基づいて特定のサーバーに分散します。 . エンド サーバーを使用して、同じクライアントからのすべてのリクエストを同じサーバーに送信できるようにします。

b. 最小接続数

upstream backend {
    least_conn;
    server backend1.example.com;
    server backend2.example.com;
    server backend3.example.com;
}

最小接続数ポリシーは、負荷分散を実現するために、現在の接続数が最も少ないサーバーにリクエストを送信します。

  1. Nginx 構成のリロード
    構成の完了後、変更を有効にするために Nginx 構成ファイルをリロードする必要があります。この操作は、次のコマンドで完了できます。

    sudo nginx -s reload
  2. 高可用性構成
    高可用性を実現するには、複数の Nginx ノードをクラスターに形成し、次のようなツールを使用します。フェイルオーバーを実現するためにキープアライブします。以下は、クラスター内に 2 つのノードがあると仮定した簡単な例です:

    sudo apt-get install keepalived

    各ノードで、通常は /etc/keepalived/keepalived.conf にある Keepalived 構成ファイルを編集する必要があります。 ###。設定例を次に示します。

    global_defs {
     router_id LB_NODE1
    }
    
    vrrp_instance VI_1 {
     state MASTER
     interface eth0
     virtual_router_id 51
     priority 100
     
     virtual_ipaddress {
         192.168.1.100
     }
    }

    ここで、

    state はノードのステータス (MASTER または BACKUP) を指定し、virtual_router_id は仮想ルーター ID、virtual_ipaddress # を指定します。 ##仮想IPアドレスが指定されています。

  3. 最後に、Keepalived サービスを再起動して、構成を有効にします:
sudo service keepalived restart

概要:

この記事では、高可用性リバース プロキシを構成する手順を紹介します。 Linux システム、および関連するコード例。これらの構成により、サービスの負荷分散機能と耐障害性が向上し、より高い可用性と安定性を実現できます。同時に、Keepalived などのツールを使用してリバース プロキシ フェールオーバーを実装する方法も紹介します。この内容が、可用性の高いリバース プロキシ システムを構築したいと考えている友人にとって役立つことを願っています。

以上がLinux で高可用性リバース プロキシ (Nginx など) を構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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