ご存知のとおり、nginx は初期段階ではリバース プロキシとして機能します。バックエンド サーバーがダウンした場合、nginx はこの実サーバーをアップストリームに置くことができないため、リクエストは依然としてバックエンドの実サーバーに転送されます。ただし、ユーザーに返されるエラー ページを解決するために、ローカルで nginx Proxy_next_upstream を有効にすることができます。
しかし、これでもリクエストがこのサーバーに転送され、その後他のサーバーに転送されるため、転送が無駄になります。今回は nginx を使用します。タオバオ技術チームによって開発されたモジュール nginx_upstream_check_module は、バックエンド リアルサーバーの健全性ステータスを検出します。バックエンド サーバーが利用できない場合、すべてのリクエストはこのサーバーに転送されません。
#インストール構成
ファイルリスト情報
[root@iZ233438q9fZ upload]# ll drwxr-xr-x 6 ftpuser ftp 4096 Aug 19 10:04 nginx_upstream_check_module drwxr-xr-x 8 1001 1001 4096 Jun 16 2015 nginx-1.9.2.tar.gz
解凍
[root@iZ233438q9fZ upload]# tar -zxvf nginx-1.9.2.tar.gz [root@iZ233438q9fZ upload]# cd nginx-1.9.2
nginx パッチのインストール
[root@iZ233438q9fZ nginx-1.9.2]# patch -p0 <p>コンパイル構成<strong></strong></p><pre class="brush:php;toolbar:false">[root@iZ233438q9fZ nginx-1.9.2]# ./configure --add-module=/var/ftp/upload/nginx_upstream_check_module --prefix=/usr/local/server/nginx [root@iZ233438q9fZ nginx-1.9.2]# make && make install
nginx.conf ヘルス チェック構成例
パラメータの説明:
- check_status: [html|csv|json]、デフォルトの html - check_http_send: 検出された http アクセス アドレスを指定します。デフォルト /- タイプ: [tcp|http|ssl_hello|mysql|ajp]、デフォルト tcp- 間隔: バックエンドに送信されるヘルスの間隔パケットのチェック、単位 (ミリ秒) - fall(fall_count): 連続した失敗の数が fall_count に達すると、サーバーはダウンしていると見なされます。 -rise(rise_count): 連続成功数がrise_countに達すると、サーバーは稼働しているとみなされます。#-timeout: バックエンドの正常性リクエストのタイムアウト。
PS: 引き続き失敗が表示される場合は、プロジェクトのルート ディレクトリにindex.jsp またはindex.html があるかどうかを確認してください。
Nginx 関連の技術記事の詳細については、
Nginx を参照してください。使い方チュートリアル以上が最初にnginxをインストールしてからヘルスモジュールを追加する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。