详解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配置反向代理的全过程记录
Mar 31 Servers
基于Nginx实现限制某IP短时间访问次数
Mar 31 Servers
如何在centos上使用yum安装rabbitmq-server
Mar 31 Servers
nginx部署多前端项目的几种方法
May 25 Servers
Vertica集成Apache Hudi重磅使用指南
Mar 31 Servers
Tomcat starup.bat 脚本实现开机自启动
Apr 20 Servers
KVM基础命令详解
Apr 30 Servers
Win2008系统搭建DHCP服务器
Jun 25 Servers
VMware虚拟机安装 Windows Server 2022的详细图文教程
Sep 23 Servers
服务器nginx权限被拒绝解决案例
Sep 23 Servers
教你使用Ubuntu搭建DNS服务器
Sep 23 Servers
keepalived + nginx 实现高可用方案
Dec 24 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代码 用PHP写出自己的BLOG系统
2010/04/12 PHP
访问编码后的中文URL返回404错误的解决方法
2014/08/20 PHP
thinkphp整合微信支付代码分享
2016/11/24 PHP
浅析PHP类的反射来实现依赖注入过程
2018/02/06 PHP
php实现构建排除当前元素的乘积数组方法
2018/10/06 PHP
Prototype Selector对象学习
2009/07/23 Javascript
将CKfinder整合进CKEditor3.0的新方法
2010/01/10 Javascript
编写Js代码要注意的几条规则
2010/09/10 Javascript
js 关于=+与+=日期函数使用说明(赋值运算符)
2011/11/15 Javascript
jquery入门—编写一个导航条(可伸缩)
2013/01/07 Javascript
javascript获取URL参数与参数值的示例代码
2013/12/20 Javascript
利用浏览器全屏api实现js全屏
2014/01/16 Javascript
在页面加载完成后通过jquery给多个span赋值
2014/05/21 Javascript
node.js中的fs.statSync方法使用说明
2014/12/16 Javascript
jQuery EasyUI中DataGird动态生成列的方法
2016/04/05 Javascript
jQuery实现公告新闻自动滚屏效果实例代码
2016/07/14 Javascript
bootstrap table 数据表格行内修改的实现代码
2017/02/13 Javascript
Javascript中字符串相关常用的使用方法总结
2017/03/13 Javascript
vue调用高德地图实例代码
2017/04/28 Javascript
使用 Node.js 模拟滑动拼图验证码操作的示例代码
2017/11/02 Javascript
微信小程序使用Promise简化回调
2018/02/06 Javascript
angular项目中bootstrap-datetimepicker时间插件的使用示例
2018/03/15 Javascript
layui递归实现动态左侧菜单
2019/07/26 Javascript
JavaScript判断数据类型有几种方法及区别介绍
2020/09/02 Javascript
python发腾讯微博代码分享
2014/01/10 Python
初步理解Python进程的信号通讯
2015/04/09 Python
浅谈Python浅拷贝、深拷贝及引用机制
2016/12/15 Python
Tensorflow简单验证码识别应用
2017/05/25 Python
python多进程使用及线程池的使用方法代码详解
2018/10/24 Python
windows下Pycharm安装opencv的多种方法
2020/03/05 Python
英国度假别墅预订:Sykes Cottages
2017/06/12 全球购物
TUMI马来西亚官方网站:国际领先的高品质商旅箱包品牌
2018/04/26 全球购物
服务型党组织建设典型材料
2014/05/07 职场文书
2014年煤矿工作总结
2014/11/24 职场文书
公司岗位说明书
2015/10/08 职场文书
创业计划书之密室逃脱
2019/11/08 职场文书