nginx+keepalive 高可用性構築ソリューション

1. nginx とは何ですか?また、何をするものですか?

nginx は、高いパフォーマンスとスケーラビリティを提供する、非常に広く使用されている Web サーバーです。これは Google によって開発され、Apache HTTP Server の代替品です。nginx の主な機能の一部を次に示します。

  1. 軽量: nginx は Apache よりも軽量で、多くの設定ファイルやモジュールを必要としないため、インストールと管理が容易です。
  2. スケーラブル: nginx は大量の同時リクエストを処理でき、ロード バランシング、プロキシ、キャッシュ、リバース プロキシなどの機能をサポートし、Web サイトのスケーラビリティを高めます。
  3. カスタマイズ可能: nginx の構成は非常に柔軟で、キャッシュ ポリシーやログなど、Web サイトのさまざまな設定を単純な構成ファイルを通じてカスタマイズできます。
  4. セキュリティ: nginx は、キャッシュ攻撃やクロスサイト スクリプティング攻撃などの一般的なセキュリティ問題を防ぐように設定できます。
  5. オープン ソース: nginx はオープン ソース ソフトウェアであり、そのソース コードは GitHub で無料で入手できるため、拡張や変更が簡単です。

2. キープアライブとは何ですか?またその機能は何ですか?

keepalive は、長時間の接続を維持するためのプラグインであり、サーバーの効率と安定性を向上させることができます。ハートビート パケットを通じて接続を維持し、接続タイムアウト期間内に再接続します。キープアライブの主な機能の一部を次に示します。

  1. 接続の維持: キープアライブは、長時間の接続を維持し、接続タイムアウト期間内に再接続して、サーバーが常に実行されていることを保証します。
  2. 効率の向上: 長時間の接続を維持することで、接続の確立と終了に必要な時間が短縮され、サーバーの効率が向上します。
  3. 帯域幅の節約: キープアライブは長時間の接続を維持できるため、接続の確立と終了に必要なネットワーク トラフィックが減少し、帯域幅が節約されます。
  4. 安定性: ハートビート パケットを通じて接続を維持すると、サーバーが常に稼働していることが保証され、Web サイトの安定性と可用性が向上します。

3. シームレスな接続を実現するキープアライブの原理とシームレスにホストを置き換えるnginx

キープアライブ クラスターには少なくとも 2 台のマシンがあります。2
台のマシン: マスター 1 台と
スレーブ 1 台です。3 台のマシン: マスター 1 台とスレーブ 2 台...などです。
キープアライブ クラスターに一意の仮想 IP を設定します。仮想 IP は次のようになります。デフォルトでは、マスター マシン
(マスター マシン) にバインドされています。IP アドレスは 2 つあり、1 つは独自のソース IP、もう 1 つは keepalived によって与えられた仮想 IP アドレスです。

非プリエンプティブ モード:
マスター マシンに障害が発生すると、keepalived はすぐに仮想 IP アドレスを取り戻し、それをスレーブ マシンに割り当てます。これは、スレーブ マシンをマスター マシンにアップグレードするのと同じです。この時点で、ユーザーは以下の操作を行うだけで済みます。 keepalived の仮想 IP アドレスを覚えておいてください。ただし、
マスター マシンが正常に戻った場合、仮想 IP アドレスは割り当てられません。スレーブ マシンに障害が発生するまで、仮想 IP アドレスは割り当てられません。4. Keepalived+Nginx high を構築します
。 -可用性負荷分散サーバー

Nginxを2台(マスター1台、スレーブ1台)用意し、それぞれkeepalivedをインストールします。

ホスト名 VIP ip
nginx1 172.21.161.100 172.21.161.*
nginx2 172.21.161.100 172.21.161.*

キープアライブをインストールする

  ネットワークカードを表示する

新しいチェック nginx スクリプトを作成します (両方のホストを作成する必要があります)

#!/bin/bash

A=`ps -C nginx --no-header |wc -l`        
    if [ $A -eq 0 ];then                            
        /opt/nginx1.23.1/sbin/nginx                
        if [ `ps -C nginx --no-header | wc -l` wc -l` -eq 0 ];then
            exit 1
        else
            exit 0
        fi
    else
        exit 0
    fi

キープアライブ構成の変更を行う

キープアライブを開始し、仮想 IP アドレスを取得します (バックアップ マシンも同じ方法で設定されます)。

 両方のサーバーで開始します:
service keepalived start

それぞれ ip addr コマンドを実行すると、最初に起動したマシンの仮想 IP が確認できます。

 

 

 

おすすめ

転載: blog.csdn.net/qq_41118173/article/details/130987476