準備:############### 192.168.16.128
192.168.16.129
# yum を使用して直接インストールできます。この方法では、依存関係が自動的にインストールされます:
yum-yinstallkeepalived
ホスト (192.168.16.128) キープアライブ設定ファイルを変更します。
yum モードでインストールした場合、設定ファイルは /etc/keepalived に作成されます:
vikeepalived.conf
keepalived.conf:
#検出スクリプト
vrrp_scriptchk_http_port{
Script"/usr/local/src/check_nginx_pid.sh"#nginx が開始されているかどうかを検出するハートビート実行スクリプト
interval2# (スクリプトの実行を検出する間隔、単位は秒)
体重2#体重
}
#vrrpインスタンス定義部
vrrp_instanceVI_1{
stateMASTER#キープアライブの役割を指定します。MASTER がメイン、BACKUP がバックアップです
interfaceens33#vrrp 通信用の現在のネットワーク インターフェイス カード (現在の centos ネットワーク カード) は、ifconfig を使用して特定のネットワーク カードを確認します
virtual_router_id66#仮想ルーティング番号、マスターとスレーブは常に
である必要があります priority100#Priority。値が大きいほど、リクエストの取得と処理の優先順位が高くなります。
advert_int1#チェック間隔、デフォルトは 1 秒 (vrrp マルチキャスト サイクル秒)
#許可されたアクセス
認証{
auth_typePASS#認証タイプとパスワードを設定します。MASTER と BACKUP は通常の通信に同じパスワードを使用する必要があります
auth_pass1111
}
トラック_スクリプト{
chk_http_port# (通話検出スクリプト)
}
virtual_ipaddress{
192.168.16.130#仮想 IP (VIP) を定義します。1 行に 1 つずつ複数設定できます
}
}
Vip は virtual_ipaddress で設定でき、vip を通じてサービスにオンラインでアクセスできます。
インターフェースはサーバーのネットワークカードに応じて設定する必要があります。通常の表示方法は ipaddr
です。 認証構成 バックアップ マシンへの認可アクセスにも同じ構成が必要です
バックアップ マシン (192.168.16.129) のキープアライブ構成ファイルを変更します。
keepalived.conf:
#検出スクリプト
vrrp_scriptchk_http_port{
Script"/usr/local/src/check_nginx_pid.sh"#nginx が開始されているかどうかを検出するハートビート実行スクリプト
interval2# (検知スクリプト実行間隔)
体重2#体重
}
#vrrpインスタンス定義部
vrrp_instanceVI_1{
stateBACKUP#キープアライブの役割を指定します。MASTER がメイン、BACKUP がバックアップです
interfaceens33#vrrp 通信用の現在のネットワーク インターフェイス カード (現在の centos ネットワーク カード) は、ifconfig を使用して特定のネットワーク カードを確認します
virtual_router_id66#仮想ルーティング番号、マスターとスレーブは常に
である必要があります priority99#Priority。値が大きいほど、リクエストの取得と処理の優先順位が高くなります。
advert_int1#チェック間隔、デフォルトは 1 秒 (vrrp マルチキャスト サイクル秒)
#許可されたアクセス
認証{
auth_typePASS#認証タイプとパスワードを設定します。MASTER と BACKUP は通常の通信に同じパスワードを使用する必要があります
auth_pass1111
}
トラックスクリプト{
chk_http_port# (通話検出スクリプト)
}
virtual_ipaddress{
192.168.16.130#仮想 IP (VIP) を定義します。1 行に 1 つずつ複数設定できます
}
}
検出スクリプト:
#!/bin/bash
#nginx が起動しているかどうかを検出する
# A=`ps-Cnginx--no-header|wc-l` if[$A-eq0];then#nginx が起動していない場合は、nginx を起動してください systemctlstartnginx#restart nginx if[`ps-Cnginx--no-header|wc-l`-eq0];then#nginx が再起動に失敗し、keepalived サービスを停止して VIP 転送を実行します キルオールキープアライブ fi fi スクリプト認可: chmod775check_nginx_pid.sh 注: スクリプトは承認されている必要があります。承認されていない場合は、アクセス許可がありません。ここでは、VIP (virtual_ipaddress:192.168.16.130) を実行している 2 つのサーバーがあり、運用環境の VIP を介してサービスに直接アクセスします。 nginx の失敗をシミュレートする: 違いとして、2 つのサーバーがデフォルトでアクセスする Nginx html ページを変更します。 まず、VIP 経由で 192.168.16.130 にアクセスすると、ページには 192.168.16.128 が表示され、現在メイン サーバーによって提供されているサービスであることがわかります。 この時点で、192.168.16.128 メイン サーバーはコマンド を実行します。 systemctlstopnginx;#stop nginx 再び VIP (192.168.16.130) にアクセスすると、192.168.16.128 というページが表示されたままであることがわかりました。これはスクリプト内の自動再起動でした。 次に、192.168.16.128 サーバーを直接閉じ、ここで VIP (192.168.16.130) にアクセスすると、ページに 192.168.16.129 が表示されていることがわかります。この時点で、キープアライブは自動的にフェイルオーバーし、エンタープライズ レベルの運用環境向けの高可用性ソリューションになります。環境が確立されました。 keepalived にはメールによるリマインダーなどの機能がたくさんありますが、それらは利用できないため、公式 Web サイトにアクセスしてドキュメントを読むことができます。以上がNginx の高可用性手法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。