详解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反向代理及负载均衡如何实现(基于linux)
Mar 31 Servers
利用Nginx代理如何解决前端跨域问题详析
Apr 02 Servers
Nginx进程管理和重载原理详解
Apr 22 Servers
Nginx下SSL证书安装部署步骤介绍
Dec 06 Servers
Tomcat用户管理的优化配置详解
Mar 31 Servers
Nginx配置根据url参数重定向
Apr 11 Servers
Nginx反向代理、重定向
Apr 13 Servers
Windows server 2012搭建FTP服务器
Apr 29 Servers
win server2012 r2服务器共享文件夹如何设置
Jun 21 Servers
腾讯云服务器部署前后分离项目之前端部署
Jun 28 Servers
nginx七层负载均衡配置详解
Jul 15 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函数
2006/12/06 PHP
Windows Apache2.2.11及Php5.2.9-1的安装与配置方法
2009/06/08 PHP
PHP获取MAC地址的函数代码
2011/09/11 PHP
php除数取整示例
2014/04/24 PHP
php获取本周星期一具体日期的方法
2015/04/20 PHP
php提交表单时保留多个空格及换行的文本样式的方法
2017/06/20 PHP
Laravel中为什么不使用blpop取队列详析
2018/08/01 PHP
使用Git实现Laravel项目的自动化部署
2019/11/24 PHP
PHP执行系统命令函数实例讲解
2021/03/03 PHP
如何取得中文输入的真实长度?
2006/06/24 Javascript
刷新时清空文本框内容的js代码
2007/04/23 Javascript
BOM与DOM的区别分析
2010/10/26 Javascript
jquery垂直公告滚动实现代码
2013/12/08 Javascript
JS阻止冒泡事件以及默认事件发生的简单方法
2014/01/17 Javascript
js实现简单随机抽奖的方法
2015/01/27 Javascript
JavaScript实现强制重定向至HTTPS页面
2015/06/10 Javascript
Bootstrap选项卡与Masonry插件的完美结合
2016/07/06 Javascript
jQuery 移动端拖拽(模块化开发,触摸事件,webpack)
2016/10/28 Javascript
基于SpringMVC+Bootstrap+DataTables实现表格服务端分页、模糊查询
2016/10/30 Javascript
JS使用贪心算法解决找零问题示例
2017/11/27 Javascript
layui 实现自动选择radio单选框(checked)的方法
2019/09/03 Javascript
在微信小程序中使用mqtt服务的方法
2019/12/13 Javascript
vue-axios同时请求多个接口 等所有接口全部加载完成再处理操作
2020/11/09 Javascript
python实现的用于搜索文件并进行内容替换的类实例
2015/06/28 Python
Python星号*与**用法分析
2018/02/02 Python
Python处理CSV与List的转换方法
2018/04/19 Python
使用Python的toolz库开始函数式编程的方法
2018/11/15 Python
Python %r和%s区别代码实例解析
2020/04/03 Python
jupyter notebook运行命令显示[*](解决办法)
2020/05/18 Python
Django后端分离 使用element-ui文件上传方式
2020/07/12 Python
米兰必去买手店排行榜首位:Antonioli
2016/09/11 全球购物
毕业生的自我鉴定该怎么写
2013/12/02 职场文书
房地产项目建议书
2014/03/12 职场文书
无传销社区工作方案
2014/05/13 职场文书
2016预备党员培训心得体会
2016/01/08 职场文书
pytorch 使用半精度模型部署的操作
2021/05/24 Python