Chinaunix首页 | 论坛 | 博客
  • 博客访问: 286505
  • 博文数量: 61
  • 博客积分: 365
  • 博客等级: 一等列兵
  • 技术积分: 611
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-04 11:39
文章分类

全部博文(61)

文章存档

2017年(15)

2016年(13)

2015年(19)

2014年(12)

2013年(2)

我的朋友

分类: 系统运维

2014-09-10 18:24:30

后端服务器健康检查,自动剔除
第一种,使用模块,nginx_upstream_check_module
    

首先去这里下载nginx的模块
下面是nginx打上模块补丁的安装

$ wget ‘’
$ tar -xzvf nginx-1.0.14.tar.gz
$ cd nginx-1.0.14/
$ patch -p1 < /path/to/nginx_http_upstream_check_module/check.patch
注:因nginx版本更新,1.2以上版本的nginx,补丁为check_1.2.1+.patch
$ ./configure –add-module=/path/to/nginx_http_upstream_check_module
$ make
$ make install

之后在nginx.conf配置文件里面的upstream加入健康检查,如下:
upstream linuxyan {
server 192.168.0.21:80;
server 192.168.0.22:80;
check interval=3000 rise=2 fall=5 timeout=1000;
}

这里下面加的这句话我解释下,interval检测间隔时间,单位为毫秒,rsie请求2次正常的话,标记此realserver的状态为up,fall表示请求5次都失败的情况下,标记此realserver的状态为down,timeout为超时时间,单位为毫秒

第二种:用upstream自带的
下面为一组服务器负载均衡的集合:
upstream info_pool {
ip_hash;
server 110.4.111.28:8081 max_fails=2 fail_timeout=5s;
server 110.4.111.29:8081 max_fails=2 fail_timeout=5s;
server 110.4.111.30:8081 max_fails=2 fail_timeout=5s;
}
Upstream相关指令解释:
max_fails:定义定义可以发生错误的最大次数
fail_timeout:nginx在fail_timeout设定的时间内与后端服务器通信失败的次数超过max_fails设定的次数,则认为这个服务器不在起作用;在接下来的 fail_timeout时间内,nginx不再将请求分发给失效的server

阅读(1536) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~