详解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+Tomcat实现负载均衡、动静分离的原理解析
Mar 31 Servers
如何利用map实现Nginx允许多个域名跨域
Mar 31 Servers
Nginx性能优化之Gzip压缩设置详解(最大程度提高页面打开速度)
Feb 12 Servers
Nginx+Windows搭建域名访问环境的操作方法
Mar 17 Servers
nginx共享内存的机制详解
Mar 21 Servers
教你使用Jenkins集成Harbor自动发布镜像
Apr 03 Servers
Windows server 2012 配置Telnet以及用法详解
Apr 28 Servers
Windows Server 2019 域控制器安装图文教程
Apr 28 Servers
在Windows Server 2012上安装 .NET Framework 3.5 所遇到的问题
Apr 29 Servers
Linux中文件的基本属性介绍
Jun 01 Servers
Ubuntu安装Mysql+启用远程连接的完整过程
Jun 21 Servers
教你nginx跳转配置的四种方式
Jul 07 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
增加反向链接的101个方法 站长推荐
2007/01/31 PHP
php使用反射插入对象示例分享
2014/03/11 PHP
Yii2针对指定url的生成及图片等的引入方法小结
2016/07/18 PHP
ThinkPHP实现图片上传操作的方法详解
2017/05/08 PHP
利用谷歌地图API获取点与点的距离的js代码
2012/10/11 Javascript
node.js中的emitter.on方法使用说明
2014/12/10 Javascript
JavaScript中的Truthy和Falsy介绍
2015/01/01 Javascript
jQuery表格行上移下移和置顶的实现方法
2015/10/08 Javascript
基于jQuey实现鼠标滑过变色(整行变色)
2015/12/07 Javascript
JavaScript实现下拉菜单的显示和隐藏
2016/01/05 Javascript
Node.js程序中的本地文件操作用法小结
2016/03/06 Javascript
AJAX实现瀑布流触发分页与分页触发瀑布流的方法
2016/05/23 Javascript
解决html input验证只能输入数字,不能输入其他的问题
2017/07/21 Javascript
Javascript防止图片拉伸的自适应处理方法
2017/12/26 Javascript
使用vue制作探探滑动堆叠组件的实例代码
2018/03/07 Javascript
vue 配置多页面应用的示例代码
2018/10/22 Javascript
Vue触发input选取文件点击事件操作
2020/08/07 Javascript
[49:05]Newbee vs TNC 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
使用python统计文件行数示例分享
2014/02/21 Python
使用Anaconda3建立虚拟独立的python2.7环境方法
2018/06/11 Python
快速解决docker-py api版本不兼容的问题
2019/08/30 Python
python如何使用jt400.jar包代码实例
2019/12/20 Python
Python实现钉钉订阅消息功能
2020/01/14 Python
Django CBV模型源码运行流程详解
2020/08/17 Python
pip/anaconda修改镜像源,加快python模块安装速度的操作
2021/03/04 Python
《在家里》教后反思
2014/03/01 职场文书
聚美优品恶搞广告词
2014/03/14 职场文书
新年寄语大全
2014/04/12 职场文书
大学生社会实践评语
2014/04/25 职场文书
工地安全生产标语
2014/06/06 职场文书
2014市府办领导班子“四风问题”对照检查材料思想汇报
2014/09/24 职场文书
小学班主任经验交流材料
2014/12/16 职场文书
SQLServer2019 数据库环境搭建与使用的实现
2021/04/08 SQL Server
Oracle 区块链表创建过程详解
2021/05/15 Oracle
Python first-order-model实现让照片动起来
2022/06/25 Python
Redis配置外网可访问(redis远程连接不上)的方法
2022/12/24 Redis