Nginx がサーバーの生存状態をパッシブにチェックする詳細な説明

Nginx がサーバーの生存状態をパッシブにチェックする詳細な説明

Nginxはサーバーの稼働状況を受動的にチェックします

導入

定期的にヘルスチェックを送信して、アップストリーム グループ内の HTTP サーバーのヘルスを監視します。 Nginx は、アップストリーム サーバーを継続的にテストし、障害が発生したサーバーを回避し、回復したサーバーを負荷分散グループに正常に追加できます。

パッシブヘルスチェック

パッシブヘルスチェックでは、 Nginx はトランザクションの発生を監視し、失敗した接続の回復を試みます。それでもトランザクションを回復できない場合、 Nginx はサーバーを使用不可としてマークし、再度アクティブとしてマークされるまで一時的にリクエストの送信を停止します。

アップストリーム サーバーが利用不可としてマークされる条件は、upstreams ブロック内の server ディレクティブのパラメータを介して各アップストリーム サーバーに対して定義されます。

  • fail_timeout : サーバーが利用不可とマークされるまでに何回試行が失敗するか、またサーバーが利用不可とマークされる時間 (デフォルトは 10 秒) を設定します。
  • max_fails : サーバーが利用不可としてマークされるために、 fail_timeout期間中に発生する必要がある失敗した試行回数を設定します (デフォルトは 1 回)。

次の例では、Nginx は、サーバーにリクエストを送信できない場合、または 30 秒以内にサーバーから 3 回応答を受信しなかった場合、30 秒以内にサーバーを使用不可としてマークします。

アップストリームバックエンド{
    サーバー backend1.example.com;
    サーバー backend2.example.com max_fails=3 fail_timeout=30s;
}

: グループ内にサーバーが 1 つしかない場合、fail_timeout および max_fails パラメーターは無視され、サーバーは使用不可としてマークされることはありません。

サーバーの起動が遅い

最近復元されたサーバーは接続で簡単に圧倒され、サーバーが再び利用不可とマークされる可能性があります。スロー スタートを使用すると、アップストリーム サーバーは、復元または使用可能になった後に、重みを 0 から公称値まで徐々に復元できます。これは、アップストリーム サーバー ディレクティブのslow_startパラメータを使用して実行できます。

アップストリームバックエンド{
    サーバー backend1.example.com slow_start=30s;
    サーバー backend2.example.com;
    サーバー 192.0.0.1 バックアップ;
}

: グループ内にサーバーが 1 つしかない場合、 slow_startパラメーターは無視され、そのサーバーは使用不可としてマークされることはありません。スロースタートは、 NGINX Plus (ビジネス エディション) に特有のものです。

Nginx がサーバーの生存状態をパッシブにチェックする方法についての記事はこれで終わりです。Nginx がサーバーの生存状態をチェックする方法についてさらに詳しく知りたい場合は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • サーバー上で Nginx を使用して Springboot プロジェクトをデプロイする方法の詳細なチュートリアル (jar パッケージ)
  • nginx を使用して静的リソース サーバーを構築する方法

<<:  JavaScript実行メカニズムの詳細な紹介

>>:  iframeフレームはIEブラウザで白い背景を透明に設定します

推薦する

Linux システムで httpd の自動インストールと構成を Ansible で実装する方法

1. Ansibleのプレイブックを使用してhttpdを自動的にインストールする1) まず、Ansi...

LinuxでVIMエディタを使う方法

豊富なオプションを備えた強力なエディターとして、Vim は多くのユーザーに愛されています。この記事で...

Ubuntu 20.04 IPアドレスを変更する方法の例

例:本日、前回のオフィスコラボレーションプラットフォーム実験の続きをしていたところ、仮想マシンは以前...

PostgreSQL マテリアライズドビュープロセス分析

この記事は主にPostgreSQLマテリアライズドビューのプロセス分析について紹介します。サンプルコ...

JS の配列トラバーサルについて、一般的なループをいくつ知っていますか?

序文基本的なデータ構造として、配列とオブジェクトはさまざまなプログラミング言語で重要な役割を果たしま...

Windows CVE-2019-0708 リモート デスクトップ コード実行脆弱性の再現問題

1. 脆弱性の説明マイクロソフトは2019年5月15日、CVE番号CVE-2019-0708のWin...

仮想マシンUbuntu 16.04がインターネットに接続できない問題の解決策

Ubuntu をインストールしたばかりですが、開いたときにネットワーク接続がありませんでした。右上隅...

Tomcat の 404 エラーの解決方法の詳細な説明

Tomcat テストで 404 問題が発生します。問題は次のとおりです。 HTTP ステータス 40...

npm グローバル モジュールのデフォルトのインストール パスを変更するためにノードのインストールをカスタマイズする手順

node を D ドライブにインストールしましたが、C ドライブのスペースを占有したくなかったため、...

ハイパーリンクのWebデザイン原則

<br />関連記事: Web コンテンツ ページ作成のための 9 つの実用的なヒント、...

HTML テーブル マークアップ チュートリアル (30): セルの暗い境界線の色属性 BORDERCOLORDARK

セルでは、暗い境界線の色を個別に定義できます。基本的な構文<TD ボーダーコロダーク=colo...

HTML テーブル タグ チュートリアル (34): 行スパン属性 ROWSPAN

複雑なテーブル構造では、一部のセルが水平方向に複数のセルにまたがるため、行間属性 ROWSPAN を...

ローカル画像サーバーのNginx構成の実装

目次1. Nginx の紹介2. 画像サーバーの構築1. Nginx の紹介Nginx はリバース ...

表 td 画像水平および垂直中央揃えコード

HTMLコード:コードをコピーコードは次のとおりです。 <td align="cen...

CSS を使用して、左側に固定幅、右側に適応幅を持つ 2 列レイアウトを実装する複数の方法

CSS を使用して、左側に固定幅、右側に適応幅を持つ 2 列レイアウトを実装する 7 つの方法。コー...