这篇文章主要讲解了“nginx怎么利用第三方模块检查后端服务器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“nginx怎么利用第三方模块检查后端服务器”吧!
创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站制作、做网站、巩留网络推广、小程序开发、巩留网络营销、巩留企业策划、巩留品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供巩留建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com
大家都知道前端使用nginx做反向代理,如果后端服务器宕掉的话,nginx是不能把这台real server剔出upstream的,所以还会有请求转发到后端的这台real server上面去,虽然nginx可以在localtion中启用proxy_next_upstream来解决返回给用户的错误页面,但这个还是会把请求转发给这台服务器的,然后再转发给别的服务器,这样就浪费了一次转发,这次借助与淘宝技术团队开发的nginx模快nginx_upstream_check_module来检测后方realserver的健康状态,如果后端服务器不可用,则所以的请求不转发到这台服务器。
首先去这里下载nginx的模块https://github.com/yaoweibin/nginx_upstream_check_module
下面是nginx打上模块补丁的安装
$ wget http://nginx.org/download/nginx-1.10.3.tar.gz
$ tar -xzvf nginx-1.10.3.tar.gz
$ cd nginx-1.10.3/
$ patch -p1 < /path/to/nginx_http_upstream_check_module/check.patch
注:因nginx版本更新,1.7.2以上版本的nginx,补丁为check_1.7.2+.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为超时时间,单位为毫秒。在server段里面可以加入查看realserver状态的页面
location /nstatus {
check_status;
access_log off;
#allow SOME.IP.ADD.RESS;
#deny all;
}
这个时候打开nstatus这个页面就可以看到当前realserver的状态了,
如下图:
1、两台realserver都正常的情况下
2、一台realserver故障的情况下
感谢各位的阅读,以上就是“nginx怎么利用第三方模块检查后端服务器”的内容了,经过本文的学习后,相信大家对nginx怎么利用第三方模块检查后端服务器这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!