nginx负载均衡监测节点状态
  1. 利用第三方Nginx插件监控代理后端节点的服务器

淘宝技术团队开发了一个Tengine(Nginx的分支)模块nginx_upstream_check_moodule,

用于提供主动式后端服务器健康检查。通过它可以检测后端rea1Server的健康状态,如果后端realservcr不可用,则所有的请求就不会转发到该节点上。

Tengine原生支持这个模块,而Nginx则需要通过打补丁的方式将该模块添加到Nginx中。补丁下载地址:https://github.com/yaoweibin/nginx_upstream_check_module。下面介绍一下如何使用这个模块

  • 安装nginx_upstream_check_module模块

提示:系统已经安装了nginx-1.6.2软件的情况

[root@lb1 ~]# cd /server/tools/

[root@lb1 tools]# wget https://codeload.github.com/yaoweibin/nginx_upstream_check_module/zip/master

[root@lb1 tools]# unzip master

[root@lb1 nginx-1.6.3]# patch -p1 <../nginx_upstream_check_module-master/check_1.5.12+.patch

[root@lb1 nginx-1.6.3]# ./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/

[root@lb1 nginx-1.6.3]# make

如果是新的nginx,则继续执行make install一步,如果给已经安装了nginx的系统打监控补丁就不用执行了,make install的作用就是重新生成Nginx二进制启动命令而己。

[root@lb1 nginx-1.6.3]# mv /application/nginx/sbin/nginx /application/nginx/sbin/nginx.ori

[root@lb1 nginx-1.6.3]# cp ./objs/nginx /application/nginx/sbin/

[root@lb1 nginx-1.6.3]# /application/nginx/sbin/nginx -t

  • 配置nginx健康检查

worker_processes  1;

events {

worker_connections  1024;

}

http {

include       mime.types;

default_type  application/octet-stream;

sendfile        on;

keepalive_timeout  65;

upstream www_server_pools {

server  192.168.80.103:80 weight=1;

server  192.168.80.104:80 weight=1;

        check interval=3000 rise=2 fall=5 timeout=1000 type=http;

}

server{

listen 192.168.80.101:80;

server_name www.etiantian.org;

        location /status {

           check_status;

           access_log off;

           }

location / {

proxy_pass         http://www_server_pools;

proxy_set_header   Host             $host;

proxy_set_header   X-Forwarded-For   $remote_addr;

}

}

}

重启nginx

[root@lb1 conf]# /application/nginx/sbin/nginx -s stop

[root@lb1 conf]# /application/nginx/sbin/nginx

#注意此处必须重启Nginx,不能重新加载。

check interval=3000 rise=2 fall=5 timeout=1000 type=http;

上面配置的意思是每隔3秒检测一次.请求2次正常则标记realserver状态为up.如果检测5次都失败.则标记realserver的状态为down,超时时间为1秒.检查的协议是http:

详细可见:http://tengine.taobao.org/document_cn/http_upstream_check_cn.html

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇