详解Nginx 被动检查服务器的存活状态


Posted in Servers onOctober 16, 2021

介绍

通过发送定期健康检查来监控上游组中 HTTP 服务器的健康状况。Nginx 可以持续测试您的上游服务器,避免出现故障的服务器,并将恢复的服务器优雅地添加到负载均衡组中。

被动健康检查

对于被动健康检查,Nginx 会在事务发生时对其进行监控,并尝试恢复失败的连接。如果事务仍然无法恢复,Nginx 将服务器标记为不可用并暂时停止向其发送请求,直到它再次标记为活动状态。

上游服务器标记为不可用的条件是通过上游块中服务器指令的参数为每个上游服务器定义的:

  • fail_timeout :设置要将服务器标记为不可用,必须进行多次失败尝试的时间,以及服务器标记为不可用的时间(默认值为10秒)。
  • max_fails :设置在 fail_timeout 期间必须发生的失败尝试次数,以便将服务器标记为不可用(默认值为1次尝试)。

在以下示例中,如果Nginx在30秒内3次未能向服务器发送请求或未收到来自服务器的响应,则会在30秒内将服务器标记为不可用:

upstream backend {
    server backend1.example.com;
    server backend2.example.com max_fails=3 fail_timeout=30s;
}

注意 :如果组中只有一台服务器,则会忽略fail_timeout和max_fails参数,并且服务器永远不会标记为不可用。

服务器慢启动

最近恢复的服务器很容易被连接淹没,这可能会导致服务器再次被标记为不可用。慢启动允许上游服务器在恢复或可用后逐渐从零恢复其权重到其标称值。这可以通过 slow_start 上游server指令的参数来完成:

upstream backend {
    server backend1.example.com slow_start=30s;
    server backend2.example.com;
    server 192.0.0.1 backup;
}

注意:如果组中只有一个服务器,slow_start 则忽略该参数并且该服务器永远不会标记为不可用。慢启动是 NGINX Plus(商业版) 独有的。

到此这篇关于Nginx 被动检查服务器的存活状态的文章就介绍到这了,更多相关Nginx检查服务器存活状态内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Servers 相关文章推荐
Nginx实现反向代理
Sep 20 Servers
利用Nginx代理如何解决前端跨域问题详析
Apr 02 Servers
Nginx配置Https安全认证的实现
May 26 Servers
Nginx使用Lua模块实现WAF的原理解析
Sep 04 Servers
nginx负载功能+nfs服务器功能解析
Feb 28 Servers
CentOS7和8下安装Maven3.8.4
Apr 07 Servers
Docker 镜像介绍以及commit相关操作
Apr 13 Servers
安装Windows Server 2012 R2企业版操作系统并设置好相关参数
Apr 29 Servers
使用 Docker Compose 构建复杂的多容器App
Apr 30 Servers
使用Nginx的访问日志统计PV与UV
May 06 Servers
详解如何使用Nginx解决跨域问题
May 06 Servers
Centos7 Shell编程之正则表达式、文本处理工具详解
Aug 05 Servers
教你利用Nginx 服务搭建子域环境提升二维地图加载性能的步骤
Sep 25 #Servers
Nginx进程调度问题详解
解决使用了nginx获取IP地址都是127.0.0.1 的问题
Sep 25 #Servers
关于nginx 实现jira反向代理的问题
Windows下用Nginx配置https服务器及反向代理的问题
Sep 25 #Servers
nginx安装以及配置的详细过程记录
Sep 15 #Servers
Nginx缓存设置案例详解
Sep 15 #Servers
You might like
php面向对象全攻略 (十一)__toString()用法 克隆对象 __call处理调用错误
2009/09/30 PHP
使用PHP编写发红包程序
2015/07/22 PHP
PHP实现验证码校验功能
2017/11/16 PHP
php swoole多进程/多线程用法示例【基于php7nts版】
2019/08/12 PHP
js的onload事件及初始化按钮事件示例代码
2013/09/25 Javascript
一个JavaScript操作元素定位元素的实例
2014/10/29 Javascript
JavaScript中实现单体模式分享
2015/01/29 Javascript
JavaScript判断undefined类型的正确方法
2015/06/30 Javascript
javascript实现状态栏文字首尾相接循环滚动的方法
2015/07/22 Javascript
JS函数的定义与调用方法推荐
2016/05/12 Javascript
JS中传递参数的几种不同方法比较
2017/01/20 Javascript
详解nodejs中的process进程
2017/03/19 NodeJs
JS解析url查询参数的简单代码
2017/08/06 Javascript
vue-cli 如何打包上线的方法示例
2018/05/08 Javascript
解决layui追加或者动态修改的表单元素“没效果”的问题
2019/09/18 Javascript
基于postman获取动态数据过程详解
2020/09/08 Javascript
[01:59]游戏“zheng”当时试玩会
2019/08/21 DOTA
python中base64加密解密方法实例分析
2015/05/16 Python
Python使用sftp实现上传和下载功能(实例代码)
2017/03/14 Python
Pyspider中给爬虫伪造随机请求头的实例
2018/05/07 Python
Python3.5面向对象编程图文与实例详解
2019/04/24 Python
python里运用私有属性和方法总结
2019/07/08 Python
Django admin model 汉化显示文字的实现方法
2019/08/12 Python
python 实现仿微信聊天时间格式化显示的代码
2020/04/17 Python
django使用多个数据库的方法实例
2021/03/04 Python
最耐用行李箱,一箱永流传:Briggs & Riley(全球终身保修)
2017/12/07 全球购物
Nike意大利官网:Nike.com IT
2020/01/19 全球购物
乡镇庆八一活动方案
2014/02/02 职场文书
综合办公室主任岗位职责
2014/04/13 职场文书
工会主席事迹材料
2014/06/03 职场文书
审计班子对照检查材料
2014/08/27 职场文书
公司租房协议书范本
2014/10/08 职场文书
结婚老公保证书
2015/02/26 职场文书
趣味运动会加油词
2015/07/18 职场文书
校友会致辞
2015/07/30 职场文书
浅谈Python数学建模之固定费用问题
2021/06/23 Python