Nginx被动健康检测配置

我使用 Nginx 做负载均衡,有时候可能某一台服务器可能会临时出问题,无法访问。这个时候就需要检测服务器是否有问题,这里的检测方式有两种:

1、被动健康检测

就是会判断请求在规定时间内是否报错,如果连续报错多少次,就暂停访问这台服务器多少秒,之后在循环前面的操作。

2、主动健康检测

就是 Nginx主动向其他服务器不间断的发送请求,判断健康检查请求是否得到正确响应。但是这个需要安装第三方的模块。

我今天这里只讲被动健康检查,只需要配置一下 Nginx 的配置文件就可以了,非常简单。完整的配置如下:

重点代码下面来详细讲解一下

    upstream detayun_server {server 127.0.0.1:8000 max_fails=1 fail_timeout=140s;server 192.168.31.217:80 max_fails=1 fail_timeout=140s;}

这里就是配置不同的服务器,

max_fails 参数就是最大失败次数,如果连续失败次数超过设置的值,就会把这台标记为不可用。

fail_timeout是标记失败的时间,max_fails触发了,就把这台服务器标记为不可用的时间。

所以整体的意思是,如果某台服务器有一次请求触发失败,就会把这台服务器140秒内标记为不可用,所有的请求都不会在140秒内发送给这个服务器。所以 max_fails 和 fail_timeout 两个参数是需要配合一起使用的。

    proxy_connect_timeout 3s;  proxy_read_timeout 3s;

proxy_connect_timeout 指令用于设置 Nginx 与后端服务器建立连接的超时时间。这个超时时间是从 Nginx 发起连接到服务器开始,到服务器响应连接请求为止的时间。如果在这个时间内没有建立连接,Nginx 将关闭连接并返回一个错误。

proxy_read_timeout 指令用于设置 Nginx 从后端服务器读取响应的超时时间。这个超时时间是从 Nginx 收到后端服务器的第一个字节开始,到接收完整个响应为止的时间。如果在这个时间内没有接收到完整的响应,Nginx 将关闭连接并返回一个错误。

设置这两个参数,可以让 Nginx 更快的判断某台服务器是否不可用。默认可能会判断20秒,之后就只需要6秒就可以判断完毕。

完整配置如下:

#user  nobody;
worker_processes  1;#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;proxy_connect_timeout 3s;  proxy_read_timeout 3s;  #上传文件的大小限制  默认1MBclient_max_body_size 50m;upstream detayun_server {server 127.0.0.1:8000 max_fails=1 fail_timeout=140s;server 192.168.31.217:80 max_fails=1 fail_timeout=140s;}server {listen       80;server_name  detayun.cn;root         E:\Python\lixin_project\lixin;location / {proxy_set_header Host $http_host;  # 设置代理服务器的HTTP_HOST头部proxy_pass   http://detayun_server;root   html;index  index.html index.htm;}location /static {try_files $uri /static/img/detayun_logo1.png;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}# HTTPS serverserver {listen       443 ssl;server_name  detayun.cn;root         E:\Python\lixin_project\lixin;ssl_certificate      detayun.pem;ssl_certificate_key  detayun.key;ssl_session_cache    shared:SSL:1m;ssl_session_timeout  5m;ssl_ciphers  HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers  on;location / {proxy_set_header Host $http_host;  # 设置代理服务器的HTTP_HOST头部proxy_pass   http://detayun_server;root   html;index  index.html index.htm;}location /static {#alias /root/test;try_files $uri /static/img/detayun_logo1.png;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/694560.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql 2-20

TEXT类型 枚举类型 SET类型 二进制字符串类型 BLOB类型 注意事项 JSON类型 提取数据 空间类型 选择建议 约束

HQYJ 2024-2-21 作业

复习课上内容(已完成)结构体字节对齐,64位没做完的做完,32位重新都做一遍,课上指定2字节对齐的做一遍,自己验证(已完成)两种验证大小端对齐的代码写一遍复习指针内容(已完…

如何通过本地消息表实现分布式事务?

本地消息表步骤 通过本地消息表(也称为可靠消息表)实现分布式事务是一种常见的做法,用于保证在分布式环境中消息的可靠传递和事务的一致性。以下是使用本地消息表实现分布式事务的一般步骤: 消息生产方(也就是发起方&…

leetcode hot100-1

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回…

OpenMVS+Colmap安装

(在home目录下新建一个文件夹library(我给你建好了,解压就行),用来安装各种库文件) 先换源(国外的不用换源) 备份 sudo cp /etc/apt/sources.list /etc/apt/sourses.list_bk修改源 sudo gedit /etc/apt/sources.list将原所有内容删除,添加以下内容: deb http://m…

力扣724. 寻找数组的中心下标(前后缀和)

Problem: 724. 寻找数组的中心下标 文章目录 题目描述思路及解法复杂度Code 题目描述 思路及解法 分别求取nums数组的前、后缀和(不包括当前元素),并比较当某个位置的前后缀和相等时,返回该位置; 复杂度 时间复杂度: …

电脑进水无法开机怎么办 电脑进水开不了机的解决方法

意外总是会不定时打破你的计划,电脑这类电器最怕遇到的除了火还有水,设备进水会导致数据丢失,那么我们遇到电脑进水怎么办?进水之后不正确处理也会引起很多不必要的麻烦. 解决办法 第一步:关机 如果您的电脑是在开…

软件测试面试常见问题【含答案】

一、面试技巧题(主观题) 序号面试题1怎么能在技术没有那么合格的前提下给面试官留个好印象?2面试时,如何巧妙地避开不会的问题?面试遇到自己不会的问题如何机智的接话,化被动为主动?3对于了解程度的技能,被…

char型变量中能不能存储一个中文汉字,为什么?(企业真题)

char型变量中能不能存储一个中文汉字,为什么? 可以的。char c1 ‘中’; char c2 ‘a’。 因为char使用的是unicode字符集,包含了世界范围的所有的字符。

软考33-上午题-【知识产权】-计算机软件的商业秘密权

一、商业秘密的定义 不为公众所知悉的,能为权利人带来经济利益、具有实用性并经权利人采取保密措施的技术信息和经营信息。 技术信息和经营信息是商业秘密的基本内容。 二、真题 真题1: 真题2: 申请专利、注册商标。 软件著作权&#xff0…

回归分析中的异方差性

在简单线性回归或多元线性回归中,我们对误差项做了一些基本假设。 简单线性回归: 多元线性回归: 假设条件: 1.误差均值为零 2.误差具有恒定方差 3.误差不相关 4.误差呈正态分布 第2个假设称为同方差性,因此&…

行李电子秤解决方案

在生活中,买菜时常常出现缺斤少两的情况,这种情况多是商家秤有很大问题,往往消费者是最吃亏的,这种情况下,我们最好是带个吊钩电子秤,测量菜的重量,有问题直接拨打举报电话举报商家,…

py2neo和neo4j

py2neo 和 neo4j 是两个 Python 中与 Neo4j 图数据库交互的库,但它们有不同的设计和使用方式。 py2neo: 类型: py2neo 是一个面向对象的库,提供了一个对象模型,使得与 Neo4j 数据库的交互更加 Pythonic。API 风格: 使用 Node 和 Relationship…

基于SSM实现的人事管理系统(源代码+数据库脚本)

文章目录 系统介绍技术选型成果展示账号地址及其他说明源码获取 系统介绍 系统演示 微信视频号:【全栈小白】查看视频 基于SSM实现的人事管理系统使用JavaEE开发,基于SpringMVCMybatis框架,该项目包含了用户管理、部门管理、职位管理、员工…

拯救者Legion Y9000K 2021H(82K6)原厂oem预装Win11系统镜像

lenovo联想拯救者Y9000K(82K6)原装出厂Windows11系统安装包下载,恢复出厂开箱状态 链接:https://pan.baidu.com/s/1DGWU7gctJerff6LJrgHD5w?pwdrbs5 提取码:rbs5 原装出厂系统自带所有驱动、出厂主题壁纸、系统属性联机支持标志、Office…

Linux桌面

系统信息的截图 登录界面右下角可以切换 Ubuntu on Wayland ,虽然还是测试版,不过体验已经比之前的 Xorg 好多了,最笔记本上使用最影响体验的高分屏适配功能,在 wayland 中也是几乎完美支持的。 卸载 snap 这个 snap 是 Ubuntu …

WEB 3D技术 three.js 3D贺卡(4) 添加鼠标滚轮移动屏幕 改变贺卡文字功能

好,上文 WEB 3D技术 three.js 3D贺卡(3) 点光源灯光动画效果 那么 我们来做一下 鼠标滚动相机和滚动时不同文字的切换 首先 我们要设置多个场景 其实也不能完全叫场景 也可以说多个位置 反正简单说就是多个位置 展现多个场景 我们先在代码的最下面 加上一个对象数…

RocketMQ高可用架构涉及常用功能整理

RocketMQ高可用架构涉及常用功能整理 1. 集群高可用系统架构和相关组件1.1 架构说明1.2 相关概念说明1.3 消息模型1.3.1 点对点模型1.3.2 发布订阅模型1.3.3 消息过滤 2. rocketmq的核心参数3. rocketmq常用命令4. 事务性4.1 数据写入流程4.2 数据读流程4.3 事务消息 5. 疑问和…

如何查看Mosquitto的连接数量

Mosquitto 提供了一套管理 API,允许你通过 HTTP 或 WebSocket 连接来监控和管理 MQTT 代理。这个 API 需要通过配置文件启用。方法如下: 1、启用管理 API: 要启用管理 API,你需要编辑 Mosquitto 的配置文件,通常是 mo…

AOSP Android源码编译

从头搭建Android源码编译环境(Ubuntu 18.04 / 20.04 / 22.04)_ubuntu搭建android编译环境-CSDN博客Android系统编译流程详解(一)-腾讯云开发者社区-腾讯云 (tencent.com) Android系统源码的整编和单编 - schips - 博客园 (cnblogs.com) 修改初始化文件…