详解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开启Brotli压缩算法实现过程详解
Mar 31 Servers
如何利用map实现Nginx允许多个域名跨域
Mar 31 Servers
如何在centos上使用yum安装rabbitmq-server
Mar 31 Servers
Linux安装apache服务器的配置过程
Nov 27 Servers
CKAD认证中部署k8s并配置Calico插件
Mar 31 Servers
Nginx虚拟主机的配置步骤过程全解
Mar 31 Servers
基于Apache Hudi在Google云构建数据湖平台的思路详解
Apr 07 Servers
微信告警的zabbix监控系统 监控整个NGINX集群
Apr 18 Servers
KVM基础命令详解
Apr 30 Servers
本地搭建minio文件服务器(使用bat脚本启动)的方法
Jul 15 Servers
Linux在两个服务器直接传文件的操作方法
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数据库备份还原类分享
2014/03/20 PHP
PHP实现微信模拟登陆并给用户发送消息的方法【文字,图片,图文】
2017/06/29 PHP
PHP扩展mcrypt实现的AES加密功能示例
2019/01/29 PHP
Laravel 修改验证异常的响应格式实例代码详解
2020/05/25 PHP
PHP const定义常量及global定义全局常量实例解析
2020/05/28 PHP
学习YUI.Ext第七日-View&JSONView Part Two-一个画室网站的案例
2007/03/10 Javascript
js 文件引入实现代码
2010/04/23 Javascript
JavaScript的parseInt 取整使用
2011/05/09 Javascript
javascript加号"+"的二义性说明
2013/03/04 Javascript
js的匿名函数使用介绍
2013/12/11 Javascript
jquery prop的使用介绍及与attr的区别
2013/12/19 Javascript
JavaScript中使用document.write向页面输出内容实例
2014/10/16 Javascript
Linux下编译安装php libevent扩展实例
2015/02/14 Javascript
EasyUI实现第二层弹出框的方法
2015/03/01 Javascript
Boostrap入门准备之border box
2016/05/09 Javascript
深入学习js瀑布流布局
2016/10/14 Javascript
微信小程序  网络请求API详解
2016/10/25 Javascript
Node.js常用工具之util模块
2017/03/09 Javascript
angular.js指令中的controller、compile与link函数的不同之处
2017/05/10 Javascript
Vue通过WebSocket建立长连接的实现代码
2019/11/05 Javascript
详谈vue中router-link和传统a链接的区别
2020/07/22 Javascript
Vue使用Proxy代理后仍无法生效的解决
2020/11/13 Javascript
[02:50]2014DOTA2 TI预选赛预选赛 大神专访第一弹!
2014/05/21 DOTA
pygame学习笔记(1):矩形、圆型画图实例
2015/04/15 Python
使用Python写个小监控
2016/01/27 Python
python去掉 unicode 字符串前面的u方法
2018/10/21 Python
Python 多线程搜索txt文件的内容,并写入搜到的内容(Lock)方法
2019/08/23 Python
Python3使用PySynth制作音乐的方法
2019/09/09 Python
Numpy数组的广播机制的实现
2020/11/03 Python
俄罗斯韩国化妆品网上商店:Cosmasi.ru
2019/10/31 全球购物
美国最大的烧烤架和户外生活用品专业零售商:Barbeques Galore
2021/01/09 全球购物
申请任职学生会干部自荐书范文
2014/02/13 职场文书
反邪教宣传工作方案
2014/05/07 职场文书
迎国庆演讲稿
2014/09/15 职场文书
通知范文怎么写
2015/04/16 职场文书
MySQL 原理与优化之原数据锁的应用
2022/08/14 MySQL