详解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配置文件使用环境变量的操作方法
Jun 02 Servers
nginx请求限制配置方法
Jul 09 Servers
centos8安装nginx1.9.1的详细过程
Aug 02 Servers
Nginx源码编译安装过程记录
Nov 17 Servers
Docker 镜像介绍以及commit相关操作
Apr 13 Servers
如何开启Apache,Nginx和IIS服务器的GZIP压缩功能
Apr 29 Servers
KVM基础命令详解
Apr 30 Servers
Nginx利用Logrotate实现日志分割
May 20 Servers
使用 DataAnt 监控 Apache APISIX的原理解析
Jul 07 Servers
Docker部署Mysql8的实现步骤
Jul 07 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中获取主机名、协议及IP地址的方法
2014/11/18 PHP
Laravel框架使用monolog_mysql实现将系统日志信息保存到mysql数据库的方法
2018/08/16 PHP
Laravel5.5 实现后台管理登录的方法(自定义用户表登录)
2019/09/30 PHP
判断浏览器的javascript版本的代码
2010/09/03 Javascript
基于jquery的内容循环滚动小模块(仿新浪微博未登录首页滚动微博显示)
2011/03/28 Javascript
用客户端js实现带省略号的分页
2013/04/27 Javascript
AngularJS ng-app 指令实例详解
2016/07/30 Javascript
Node.js批量给图片加水印的方法
2016/11/15 Javascript
JavaScript给每一个li节点绑定点击事件的实现方法
2016/12/01 Javascript
利用js定义一个导航条菜单
2017/03/14 Javascript
Vue2.0使用过程常见的一些问题总结学习
2017/04/10 Javascript
Smartour 让网页导览变得更简单(推荐)
2019/07/19 Javascript
javascript写一个ajax自动拦截并下载数据代码实例
2019/09/07 Javascript
javascript用defineProperty实现简单的双向绑定方法
2020/04/03 Javascript
Vue router安装及使用方法解析
2020/12/02 Vue.js
node脚手架搭建服务器实现token验证的方法
2021/01/20 Javascript
JavaScript使用setTimeout实现倒计时效果
2021/02/19 Javascript
详解Python函数作用域的LEGB顺序
2016/05/14 Python
Python 逐行分割大txt文件的方法
2017/10/10 Python
python读取Kafka实例
2019/12/23 Python
浅谈Python协程
2020/06/17 Python
深入了解Python 方法之类方法 & 静态方法
2020/08/17 Python
如何用Python绘制3D柱形图
2020/09/16 Python
python如何实现递归转非递归
2021/02/25 Python
1688平价精选商城:阿里集团旗下,工厂出厂价格直销
2017/04/24 全球购物
澳大利亚宠物食品和用品商店:PETstock
2020/01/02 全球购物
会计学个人自荐信模板
2013/12/13 职场文书
公开服务承诺制度
2014/03/26 职场文书
初中学校对照检查材料
2014/08/19 职场文书
淘宝文案策划岗位职责
2015/04/14 职场文书
民事答辩状格式范文
2015/05/21 职场文书
2016年优秀党员教师先进事迹材料
2016/02/29 职场文书
职场新人刚入职工作总结该怎么写?
2019/05/15 职场文书
golang goroutine顺序输出方式
2021/04/29 Golang
各国货币符号大全
2022/02/17 杂记
详解apache编译安装httpd-2.4.54及三种风格的init程序特点和区别
2022/07/15 Servers