nginx实战之健康检查

很多人都知道nginx可以做负载均衡和反向代理,但是nginx的健康检查也是必不可少的一个环节,实现Nginx健康检查可以实现以下几个场景:

当负载的节点宕机的时候nginx会将其移出负载池

当宕机的节点恢复的时候nginx会将其加入负载池

在负载机器没有全部宕机的时候,保证服务是可用的,不会出现404等情况

本文介绍的是淘宝技术团队开发的nginx模快nginx_upstream_check_module来检测后方realserver的健康状态,如果后端服务器不可用,则所有的请求不转发到这台服务器。本文偏向实战为主,以前躺坑已亲测可用。本文偏向实战,原理性可百度或后续篇章会讲。另外实现方案不止于本文介绍,请须知。

相关软件或源码下载在/usr/local/src/,并解压。

解压 unzip master.zip

开始nginx安装

以上步骤确保编译无报错。(我在编译过程中花了很长时间来效验版本[1.9.2+],网上没找到相应资料,是个教训)

注意点:

1. -with-pcre=/usr/local/src/pcre-8.38 pcre的源码所在,不是安装目录

2. --with-openssl =/usr/local/src/openssl-1.0.1g openssl的源码所在,不是安装目录

3. --add-module=/usr/local/src/nginx_upstream_check_module-master/

源码所在,不是安装目录

这些源码通过文档头部的地址下载到/usr/local/src目录下,要确保源码路径存在。不然configure以及后续编译不通过。

编译通过后就可以使用带nginx_upstream_check_module模块的nginx进行健康检查了。

如何验证

编译通过后配置nginx ,弄个负载均衡然后启动nginx ,通过手动宕机或恢复后端节点来验证即可。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180119G0AH7200?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券