利用第三方插件监控(淘宝开发的Tengine)
模块:nginx_upstream_check_module
实现web界面
下载补丁包
wget https://codeload.github.com/yaoweibin/nginx\_upstream\_check\_module/zip/master
解压缩
unzip master
drwxr-xr-x 6 root root 4096 11月 10 18:58 nginx_upstream_check_module-master
cd nginx-1.6.3
打补丁
patch -p1 <../nginx_upstream_check_module-master/check_1.5.12+.patch
patching file src/http/modules/ngx_http_upstream_ip_hash_module.c
patching file src/http/modules/ngx_http_upstream_least_conn_module.c
patching file src/http/ngx_http_upstream_round_robin.c
patching file src/http/ngx_http_upstream_round_robin.h
重新编译(最好先备份一下之间的配置文件)
./configure --prefix=/application/nginx-1.6.3 --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --add-module=../nginx_upstream_check_module-master/
make
(如果新的nginx就makeinstall 如果不是新的nginx,就不用makeinstall了)
把之前nginx启动文件里的文件备份一下
mv /application/nginx/sbin/nginx{,.bak}
将补丁的nginx二进制文件复制到/application/nginx/sbin/
cp ./objs/nginx /application/nginx/sbin/
/application/nginx/sbin/nginx -t
/application/nginx/sbin/nginx -s reload
检查模块
/application/nginx/sbin/nginx -V
nginx version: nginx/1.6.3
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC)
TLS SNI support enabled
configure arguments: --prefix=/application/nginx-1.6.3 --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --add-module=../nginx_upstream_check_module-master/
添加一个参数
vim /application/nginx/conf/nginx.conf
在每一个upstream里添加一行
upstream android_pools {
server 192.168.70.127:80 weight=1; #apache
check interval=3000 rise=2 fall=5 timeout=1000 type=http;
#interval 3秒检查
#rise 宕机请求2次,好了加进来
#fall 宕机坏了 请求5次,还不行提出
#timeout 超时一秒
}
在server里添加
location /status {
check_status;
access_log off;
}
访问网址
192.168.70.131
Name 节点
status 状态
Rise 宕机启动次数
fall 宕机次数
check type 检查类型
check prot 端口