博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用nginx_upstream_check模块检查nginx代理后端存活
阅读量:6074 次
发布时间:2019-06-20

本文共 1515 字,大约阅读时间需要 5 分钟。

       在日常nginx的使用中,经常会出现upstream代理的后端服务器失效的情况,这会导致请求经常会流向失效的后端,导致访问失败。若想剔除掉已失效的后端,必须手动注释或删除配置,很是麻烦。利用nginx_upstream_check模块,就可以避免这些问题。

      nginx_upstream_check模块可以根据指定的检查周期与参数定期检查upstream后端的存活情况,若判定某一后端检查失败,则标记为"DOWN"状态,访问流量则不再流向该失败后端服务。

nginx添加nginx_upstream_check模块:

1:下载模块。git地址如下:

# unzip nginx_upstream_check_module-master.zip

2:根据nginx版本打补丁(我这里使用的是nginx-1.12.1版本)。

# cd nginx-1.12.1# patch -p1 < /usr/local/src/nginx_upstream_check_module-master/check_1.12.1+.patch

3:编译、安装nginx,添加上nginx_upstrem_check模块。

# ./configure --prefix=/usr/local/nginx --user=nobody --group=nobody --add-module=/usr/local/src/nginx_upstream_check_module-master/# make && make install

4:为一个upstream服务组配置后端检查。

upstream xxxxxx{    server 172.17.1.164:8080;    server 172.17.3.164:8080;    check interval=2000 rise=2 fall=2 timeout=1000 type=http;    check_http_send "HEAD / HTTP/1.0\r\n\r\n";    check_http_expect_alive http_2xx http_3xx http_4xx;}

其中参数的定义如下:

interval:检查的周期

fall:允许的检查失败次数,若失败次数超过该值,则后端被标记为"down"。

rise:检查的成功次数达到该值,则后端被标记为“up”。

timeout:检查的超时时间。

type:后端检查的协议类型。

5:在某一个请求路径下运用代理:

location / {            root   html;            index index.html index.htm;            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;            proxy_set_header Host   $host:$server_port;            proxy_set_header  X-Real-IP  $remote_addr;            proxy_pass  http://xxxxxx;  }

6:开启后端存活状态页面,便于查看后端状态。

location /status {            check_status;            access_log   off;    }

image.png

可以看到我现在的upstream服务组中,有一个后端是'up'状态,有一个后端是'down'不可用状态。

转载地址:http://dkngx.baihongyu.com/

你可能感兴趣的文章
react-keeper
查看>>
react 项目实战(十)引入AntDesign组件库
查看>>
flexible.js + makegrid.js 自适应布局
查看>>
js 判断对象中所有属性是否为空
查看>>
Scrapy基础(六)————Scrapy爬取伯乐在线一通过css和xpath解析文章字段
查看>>
spring MVC 运行过程
查看>>
19、其他文件编程函数(目录文件、链接文件、临时文件)
查看>>
Java LinkList遍历方式
查看>>
little w and Segment Coverage
查看>>
nginx-rtmp加入权限验证的简单方法
查看>>
《javascript高级程序设计》第一版笔记
查看>>
我的 FPGA 学习历程(09)—— 时序逻辑入门
查看>>
开发中遇到的抗
查看>>
Struts2输入校验2(框架效验)———struts2第四讲
查看>>
Eclipse安装propertie预览插件
查看>>
两个二极管反向并联一般起什么作用
查看>>
防错笔记
查看>>
Mybatis中sql语句中的in查询,一定要判断null的情况
查看>>
Ping命令简单报错介绍
查看>>
js做网站的粘贴功能
查看>>