そこnginxのバックグラウンドサービスのヘルスチェックにはいくつかの方法がありますが、最も信頼性の高いはアリババnginx_upstream_check_moduleモジュールを使用することです。原理は、バックエンドサーバーが利用できない場合、彼らは上流から追い出される、リアのRealServerの健康状態を検出することである、すべての要求は、このサーバーに転送されません。正常に現在戻るとき、それが上流添加されます。
1.ダウンロードnginxのモジュールとnginx_upstream_check_module
ルートディレクトリにnginxのとモジュールをダウンロードしてください。
https://nginx.org/download/nginx-1.14.2.tar.gz wgetの
wgetのhttps://github.com/yaoweibin/nginx_upstream_check_module/archive/master.zip
2.コンパイルnginxの
- 新nginxのインストールディレクトリ
は/ usr / local /のnginx_upstream_check - 抽出したディレクトリの/root/nginx-1.14.2でnginxのをコンパイルするには、次のコマンドを実行します。
パッチ-p1 <... / nginx_upstream_check_module-マスター/ check_1.14.0 + .patchファイル
は./configure --prefix =は/ usr / local / nginx_upstream_check / --add-Module1を= /ルート/ nginx_upstream_check_module-マスター/
作る
make installを
これまでにコンパイルされて。
3.設定nginxの
#user nobody;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
#隐藏NG的版本
server_tokens off;
#keepalive_timeout 0;
keepalive_timeout 65;
include vhost/*.conf;
upstream test.zd.com {
server 127.0.0.1:8080;
server 127.0.0.1:3333;
check interval=3000 rise=2 fall=5 timeout=1000 type=http;
check_keepalive_requests 100;
check_http_send "HEAD / HTTP/1.1\r\nConnection: keep-alive\r\n\r\n";
check_http_expect_alive http_2xx http_3xx;
}
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
上記によると、番組ディレクトリに新しいファイルという。
-pます。mkdirは/ usr / local / nginx_upstream_check / confに/バーチャルホスト
タッチtest.zd.com.conf
次のようにtest.zd.com.conf文書が読み込みます。
server {
listen 80;
client_max_body_size 10M;
server_name test.zd.com;
charset utf-8;
index index.html index.htm;
location / {
proxy_pass http://test.zd.com;
proxy_connect_timeout 500s;
proxy_read_timeout 500s;
proxy_send_timeout 500s;
proxy_redirect off ;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_buffer_size 256k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
proxy_temp_file_write_size 256k;
proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
proxy_max_temp_file_size 128m;
#proxy_cache mycache;
#proxy_cache_valid 200 302 60m;
#proxy_cache_valid 404 1m;
}
location /nstatus {
check_status;
access_log off;
}
}
4. [スタート] nginxの
最初のテスト構成のもとで正しいです#
は/ usr / local / nginxの/ sbinに / nginxの-t
#開始
は/ usr / local / nginxの/ sbinに / nginxの
5.チェックサービス
カール127.0.01:80 / nSTATUSの
次のように私は、htmlファイルブラウザを開き、test.htmlというファイルの内容をコピーするために戻ります。