详解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配置https原理及实现过程详解
Mar 31 Servers
Mac环境Nginx配置和访问本地静态资源的实现
Mar 31 Servers
利用Nginx代理如何解决前端跨域问题详析
Apr 02 Servers
Nginx实现负载均衡的项目实践
Mar 18 Servers
从零开始在Centos7上部署SpringBoot项目
Apr 07 Servers
Win10 Anaconda安装python-pcl
Apr 29 Servers
如何Tomcat中使用ipv6地址
May 06 Servers
解决Git推送错误non-fast-forward的方法
Jun 25 Servers
TaiShan 200服务器安装Ubuntu 18.04的图文教程
Jun 28 Servers
Zabbix对Kafka topic积压数据监控的解决方案
Jul 07 Servers
Nginx代理Redis哨兵主从配置的实现
Jul 15 Servers
Nginx如何配置根据路径转发详解
Jul 23 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 Zip解压 文件在线解压缩的函数代码
2010/05/26 PHP
php cURL和Rolling cURL并发方式比较
2013/10/30 PHP
迁移PHP版本到PHP7
2015/02/06 PHP
解决extjs在firefox中关闭窗口再打开后iframe中js函数访问不到的问题
2008/11/06 Javascript
JQuery插件Style定制化方法的分析与比较
2012/05/03 Javascript
$.getJSON在IE下失效的原因分析及解决方法
2013/06/16 Javascript
jQuery实现企业网站横幅焦点图切换功能实例
2015/04/30 Javascript
第九篇Bootstrap导航菜单创建步骤详解
2016/06/21 Javascript
用原生js做单页应用
2017/01/17 Javascript
浅析vue数据绑定
2017/01/17 Javascript
详解Node.js实现301、302重定向服务
2017/04/07 Javascript
获取本机IP地址的实例(JavaScript / Node.js)
2017/11/24 Javascript
vue-lazyload图片延迟加载插件的实例讲解
2018/02/09 Javascript
js Element Traversal规范中的元素遍历方法
2018/04/19 Javascript
vue-baidu-map 进入页面自动定位的解决方案(推荐)
2018/04/28 Javascript
JS实现根据指定值删除数组中的元素操作示例
2018/08/02 Javascript
通过vue-cli3构建一个SSR应用程序的方法
2018/09/13 Javascript
2019年度web前端面试题总结(主要为Vue面试题)
2020/01/12 Javascript
在vant中使用时间选择器和popup弹出层的操作
2020/11/04 Javascript
[01:00:59]VP VS VG Supermajor小组赛胜者组第二轮 BO3第二场 6.2
2018/06/03 DOTA
[01:31:22]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第二场 1月10日
2021/03/11 DOTA
使用Python的urllib和urllib2模块制作爬虫的实例教程
2016/01/20 Python
Python中装饰器兼容加括号和不加括号的写法详解
2017/07/05 Python
Python实现定时自动关闭的tkinter窗口方法
2019/02/16 Python
django 2.2和mysql使用的常见问题
2019/07/18 Python
python实现的config文件读写功能示例
2019/09/24 Python
在tensorflow中设置使用某一块GPU、多GPU、CPU的操作
2020/02/07 Python
配置python的编程环境之Anaconda + VSCode的教程
2020/03/29 Python
Html5 canvas画图白板踩坑
2020/06/01 HTML / CSS
比利时香水网上商店:NOTINO
2018/03/28 全球购物
ghd澳大利亚官方网站:英国最受欢迎的美发工具品牌
2018/05/21 全球购物
志愿者活动总结范文
2014/04/26 职场文书
2014年仓管员工作总结
2014/11/18 职场文书
党员干部廉政承诺书
2015/04/28 职场文书
教师学习心得体会范文
2016/01/21 职场文书
在MySQL中你成功的避开了所有索引
2022/04/20 MySQL