大家都知道,前端nginx做反代,如果后端服务器宕掉的话,nginx是不能把这台realserver剔出upstream的,所以还会有请求转发到后端的这台realserver上面去,虽然nginx可以在localtion中启用proxy_next_upstream来解决返回给用户的错误页面,方法在:http://www.linuxyan.com/web-server/67.html,大家可以参考一下,但这个还是会把请求转发给这台服务器的,然后再转发给别的服务器,这样就浪费了一次转发,这次借助与淘宝技术团队开发的nginx模快nginx_upstream_check_module来检测后方realserver的健康状态,如果后端服务器不可用,则所以的请求不转发到这台服务器。  减少一次转发。。

首先去这里下载nginx的模块https://github.com/yaoweibin/nginx_upstream_check_module
下面是nginx打上模块补丁的安装 ,但是现在tengine已经自带了这个模块,不再需要加这个第三方模块,直接配置就行了。

【$ wget ‘http://nginx.org/download/nginx-1.0.14.tar.gz’
$ 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 www_server_pool {
server 192.168.0.21:80;
server 192.168.0.22:80;
check interval=3000 rise=2 fall=5 timeout=1000 type=http;

check_http_send "GET / HTTP/1.0\r\n\r\n";check_http_expect_alive http_2xx http_3xx;

}

我觉得nginx_upstream_check_module 检查健康状态,结合--with-http_stub_status_module  显示realserver的状态

现在tengine已经自动带了次模块,所以不需要再编译,直接配置即可

  ./configure  --with-http_stub_status_module

这里下面加的这句话我解释下:

interval检测间隔时间,单位为毫秒,5分钟

rsie请求2次正常的话,标记此realserver的状态为up,

fall表示请求5次都失败的情况下,标记此realserver的状态为down,

timeout为超时时间,单位为毫秒。
在server段里面可以加入查看realserver状态的页面
location /nstatus {
check_status;
access_log off;
#allow SOME.IP.ADD.RESS;
#deny all;
}

这个时候打开nstatus这个页面就可以看到当前realserver的状态了,
如下图:

HTTP://www.qq.com/status

转载于:https://blog.51cto.com/douya/1555502

nginx模块nginx_upstream_check_module来检查后端服务器的健康情况相关推荐

  1. 如何利用nginx_upstream_check_module-master对nginx的后端机器进行健康状态检查

    用nginx做前端反向代理,如果后端服务器宕掉的话,nginx是不会把这台realserver踢出upstream的,还会把请求转发到后端的这台realserver上面.所以当某台机器出现问题时,我们 ...

  2. nginx后端节点的健康检查

    简介 本文主要介绍nginx后端节点的健康检查,在此之前我们先来介绍下nignx反向代理主要使用的模块. nginx原生模块介绍 我们在使用nginx做反向代理都会使用到以下两个模块: 1.ngx_h ...

  3. vue项目设置服务器地址,vue项目配置后端服务器地址

    vue项目配置后端服务器地址 内容精选 换一换 查询负载均衡器状态树.可通过该接口查询负载均衡器关联的监听器.后端云服务器组.后端云服务器.健康检查.转发策略.转发规则的主要信息,了解负载均衡器下资源 ...

  4. Nginx利用nginx_upstream_check_module检查后端健康情况

    Nginx利用nginx_upstream_check_module检查后端健康情况 大家都知道,前端nginx做反代,如果后端服务器宕掉的话,nginx是不能把这台realserver提出upstr ...

  5. Nginx源码从模块开发入手,3个项目弄透nginx模块开发丨Linux服务器开发丨C++后端开发丨中间件开发丨分布式丨web服务器

    Nginx源码从模块开发入手,3个项目弄透nginx模块开发 1. Nginx http请求的11个处理流程 2. Upstream, Filter,Handler模块分析 3. nginx如何拒绝无 ...

  6. 16w行的nginx源码,如何分拆模块阅读,手把手教你造轮子丨Nginx模块开发丨C/C++丨Linux服务器开发丨后端开发

    16w行的nginx源码,如何分拆模块阅读,让你明白轮子如何造  1. 多进程模型下的惊群处理 2. 内存池的代码封装 3. slab共享内存分配 视频讲解如下,点击观看: 16w行的nginx源码, ...

  7. nginx安装第三方模块nginx_upstream_check_module

    一.nginx后端健康检查 nginx自带健康检查的缺陷: Nginx只有当有访问时后,才发起对后端节点探测. 如果本次请求中,节点正好出现故障,Nginx依然将请求转交给故障的节点,然后再转交给健康 ...

  8. nginx转发及后端服务器获取真实client的IP

    针对nginx的模块介绍可以查阅wiki:http://wiki.nginx.org/Modules 常用模块:HTTP Core Proxy Rewrite Upstream 原理: squid,v ...

  9. Nginx之配置后端服务器组

    Nginx服务器支持设置一组服务器作为后端服务器,Nginx反向代理,负载均衡等重要功能会经常涉及后端服务器. 服务器组的设置包括以下的一些指令,他们是由标准的HTTP模块ngx_http_upstr ...

  10. java centos 缩略图_使用 Nginx 的 image_filter 模块来构建动态缩略图服务器

    原标题:使用 Nginx 的 image_filter 模块来构建动态缩略图服务器 在以前我们实现缩略图机制通常是在当用户上传一张图片后,后端程序会固定将图片生成前端页面需要的不同大小缩略图.不管前端 ...

最新文章

  1. [恢]hdu 2521
  2. 逻辑回归的向量化实现样例
  3. java员工请假系统_基于jsp的员工请假管理系统-JavaEE实现员工请假管理系统 - java项目源码...
  4. PreparedStatement和Statement比较
  5. 每天一道LeetCode-----寻找二叉搜索树中第k小的元素
  6. 运维(2班)梁瑞第五次作业
  7. 数学问题(三):最小公倍数、最大公约数
  8. android开发深入浅出,Android开发深入浅出RxJava(一:基础篇)
  9. QGIS的部分使用流程
  10. navicat 8.0 mysql 名、组织、注册码
  11. Couldn't connect to host, port: localhost, 25; timeout -1;
  12. 冷酷仙境与世界尽头——《葫芦兄弟》人物赏析  作者:马伯庸
  13. dot全称_dot是什么格式
  14. redis c++接口
  15. android4.4 音量控制,android4.4调整音量调节速度
  16. 图像配准,特征点提取与匹配
  17. Andorid中使用Gson和Fast-json解析库解析JSON数据---第三方库学习笔记(二)
  18. 16年就火起来的VR技术,为什么还没有崛起?
  19. 33岁开始我们该做些什么
  20. 5G全国覆盖还需6-7年时间?来看看各地5G最新进展与规划

热门文章

  1. 网络协议端口号说明(转)
  2. [转] PostgreSQL的PITR技术(Point-In-Time-Recovery)
  3. MATLAB中if (0)
  4. FabFilter Total Bundle 2021 mac版:14个专业的FabFilter插件(含安装与卸载)
  5. centos7系统忘记root密码
  6. 【转】python编写规范——中标软件有限公司测试中心
  7. mongodb启动很慢:[initandlisten] found 1 index(es) that
  8. 关于本地缓存localstorage与sessionStorage 数组 (array)字符串(string) 对象(object)的存储技巧和注意事项...
  9. Lightroom Classic 教程,如何在 Lightroom 中使用引导式修复透视图?
  10. 如何把视频做成电脑壁纸?Dynamic Wallpaper导入视频壁纸的方法