详解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
CKAD认证中部署k8s并配置Calico插件
Mar 31 Servers
Kubernetes关键组件与结构组成介绍
Mar 31 Servers
Kubernetes中Deployment的升级与回滚
Apr 01 Servers
CentOS安装Nginx并部署vue
Apr 12 Servers
Windows server 2012 配置Telnet以及用法详解
Apr 28 Servers
Tomcat配置访问日志和线程数
May 06 Servers
排查Tomcat进程假死的问题
May 06 Servers
关于windows server 2012 DC 环境 重启后蓝屏代码:0xc00002e2的问题
May 25 Servers
nginx设置资源请求目录的方式详解
May 30 Servers
Windows10安装Apache2.4的方法步骤
Jun 25 Servers
Nginx文件已经存在全局反向代理问题排查记录
Jul 15 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
这东西价格,可以买几台TECSUN S-2000
2021/03/02 无线电
Yii入门教程之Yii安装及hello world
2014/11/25 PHP
php获得文件大小和文件创建时间的方法
2015/03/13 PHP
php两种无限分类方法实例
2015/04/21 PHP
php以fastCGI的方式运行时文件系统权限问题及解决方法
2015/05/11 PHP
ThinkPHP静态缓存简单配置和使用方法详解
2016/03/23 PHP
thinkPHP5.0框架命名空间详解
2017/03/18 PHP
swoole_process实现进程池的方法示例
2018/10/29 PHP
Laravel5.1 框架路由基础详解
2020/01/04 PHP
json简单介绍
2008/06/10 Javascript
JS 继承实例分析
2008/11/04 Javascript
JavaScript(js)设置默认输入焦点(focus)
2012/12/28 Javascript
input链接页面、打开新网页等等的具体实现
2013/12/30 Javascript
js实现checkbox全选、不选与反选的方法
2015/02/09 Javascript
JavaScript使用Prototype实现面向对象的方法
2015/04/14 Javascript
javascript中apply、call和bind的使用区别
2016/04/05 Javascript
使用get方式提交表单在地址栏里面不显示提交信息
2017/02/21 Javascript
vue实现tab切换外加样式切换方法
2018/03/16 Javascript
vue.js实现标签页切换效果
2018/06/07 Javascript
js根据json数据中的某一个属性来给数据分组的方法
2018/10/08 Javascript
ssh批量登录并执行命令的python实现代码
2012/05/25 Python
python处理图片之PIL模块简单使用方法
2015/05/11 Python
python: line=f.readlines()消除line中\n的方法
2018/03/19 Python
Python遍历文件夹 处理json文件的方法
2019/01/22 Python
如何运行.ipynb文件的图文讲解
2019/06/27 Python
python如何实现数据的线性拟合
2019/07/19 Python
python按修改时间顺序排列文件的实例代码
2019/07/25 Python
python装饰器练习题及答案
2019/11/01 Python
Django def clean()函数对表单中的数据进行验证操作
2020/07/09 Python
AHAVA美国官方网站:死海海泥护肤品牌
2016/10/18 全球购物
模具专业推荐信
2013/10/30 职场文书
综合实践教学反思
2014/01/31 职场文书
护士优质服务演讲稿
2014/08/26 职场文书
企业战略合作意向书
2015/05/08 职场文书
小学思想品德教学反思
2016/02/24 职场文书
Vue+TypeScript中处理computed方式
2022/04/02 Vue.js