Nginx上游节点健康检测

news2024/12/24 8:39:36

Nginx默认是没有支持上游节点健康检测的。

可以使用Tengine

文档 - The Tengine Web Server

或者自行下载nginx然后自己安装nginx_upstream_check_module 模块

在linux下载nginx

 wget http://nginx.org/download/nginx-1.25.1.tar.gz 

 下载插件 GitHub - yaoweibin/nginx_upstream_check_module: Health checks upstreams for nginx

 

在这里,我们可以将nginx上传解压到/opt/目录下,可以直接在/opt/目录下直接下载nginx在/opt/目录解压

tar -xf nginx-1.25.1.tar.gz

进入目录

cd nginx-1.25.1

给nginx打补丁

 patch -p1 </opt/nginx_upstream_check_module-master/check_1.20.1+.patch

安装,编译, 此时可能会缺少依赖,如openssl之类的,可以一直使用命令检查,然后缺什么补什么,我这里使用的是ubuntu系统,可以使用apt-get下载

 ./configure --add-module=/opt/nginx_upstream_check_module-master

编译安装,会报错的话就根据错误信息检查缺失的依赖,apt-get下载安装即可

make install

 可以看见nginx的产物在/usr/local/nginx目录下

进入目录

cd /usr/local/nginx/sbin/

确认配置,可以看见已经安装的模块

 /usr/local/nginx/sbin/nginx -V

 

接下来修改nginx.conf文件,这个配置可以参考ngx_http_upstream_check_module - The Tengine Web Server

#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 {
    upstream hello {

        server 192.168.2.1:8080;
        server 192.168.2.1:8081;

        check interval=3000 rise=2 fall=5 timeout=2000 type=http default_down=true ;
        check_keepalive_requests 1;
        #check_http_send "GET /hello HTTP/1.1\r\n\r\n";
	#一定要Host不然服务器没返回200
        check_http_send "GET /hello?appId=denglintao HTTP/1.1\r\nHost:hello\r\nConnection: keep-alive\r\n\r\n";
        check_http_expect_alive http_2xx http_3xx  ;
    }

    server {
        listen 80;

        location / {
            proxy_pass http://hello;
        }

        location /nstatus {
            check_status;
            access_log off;
        }
    }
}

 启动nginx,进入目录/usr/local/nginx/sbin/

./nginx

停止nginx

./nginx -s stop

访问nginx对上游节点的健康检测状态页面

 http://ip:prot/nstatus

 

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

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

相关文章

【Java高级编程】Java8的新特性

Java8的新特性 1、Java8的新特性概述2、Lambda表达式2.1、Lambda表达式使用前后的对比2.2、Lambda表达式的基本语法2.3、如何使用&#xff1a;分为六种情况 3、函数式接口3.1、函数式接口的使用说明3.2、Java8中关于Lambda表达式提供的4个基本的函数式接口3.3、总结 4、方法引用…

开源建站博客社区系统大放送

前言 软件开发成本非常高昂&#xff0c;写demo易&#xff0c;做产品难&#xff0c;难就难在无数细节需要精雕细琢。 学习博客、论坛、内容管理系统这些典型的、通用型的系统&#xff0c;能极大提升你的软件架构和开发能力。本文筛选了目前主流的开源项目&#xff0c;帮助大家入…

动手学深度学习v2 p1引言 监督学习与无监督学习

1.引言 1.2. 机器学习中的关键组件 首先介绍一些核心组件。无论什么类型的机器学习问题&#xff0c;都会遇到这些组件&#xff1a; 可以用来学习的数据&#xff08;data&#xff09;&#xff1b; 如何转换数据的模型&#xff08;model&#xff09;&#xff1b; 一个目标函数…

linux--用户相关

目录 一.要在云服务器官网重置root密码成功后才能登录xshell(重装系统后登录也不例外&#xff09; 二.添加普通用户&#xff1a; 三.查看root下有几个普通用户&#xff1a; 四.给用户设置密码&#xff1a; 五、用户登录​编辑 六、查看当前所在用户&#xff1a; 七、查看…

windows上phpstudy 在切换php7.0到7.2后项目404

项目从7.0切换到7.2.9一访问本地就报404&#xff0c;然后重启 重新配置nginx.conf也无效 然后取查看phpstudy 的 nginx/logs/error.log 发现一访问本地网站就报下面错 phpstudy报错 2023/06/28 11:36:28 [error] 14128#19616: *1 upstream prematurely closed connection whi…

Linux——扩容/根分区(LVM+非LVM)

摘要 本博文主要是对linux虚拟机进行磁盘得扩容操作。 在计算机中MBR&#xff08;Master Boot Record&#xff09;&#xff08;主引导记录&#xff09;和GPT&#xff08;GUID Partition Table&#xff09;&#xff08;GUID意为全局唯一标识符&#xff09;是在磁盘上存储分区信…

Redis跳跃表是如何添加元素的?

今天分享的这道题来自于蔚来的真实面试题。 Java 面试不可能不问 Redis&#xff0c;问到 Redis 不可能不问 Redis 的常用数据类型&#xff0c;问到 Redis 的常用数据类型&#xff0c;不可能不问跳跃表&#xff0c;当问到跳跃表经常会被问到跳跃表的查询和添加流程&#xff0c;…

conda虚拟环境中安装的cuda和服务器上安装的cuda的异同

服务器上已安装Nvidia提供的cuda&#xff0c;nvidia-smi时会出现已安装的CUDA版本。如下图所示&#xff0c;服务器上已安装好的cuda版本为10.1。 但是当我们在Anaconda虚拟环境下安装pytorch或者paddlepaddle等深度学习框架的GPU版本时&#xff0c;通常会选择较高版本的cuda&a…

python3开发-Word助手

目录 背景 思路 步骤 代码示例 总结 背景 在日常工作和学习中&#xff0c;我们经常需要处理Word文档&#xff0c;例如编辑、提取内容、生成报告等。而Python是一门功能强大的编程语言&#xff0c;它提供了丰富的库和工具&#xff0c;使得我们可以利用Python来处理Word文档…

chatgpt赋能python:Python运输打折问题解决方案

Python运输打折问题解决方案 作为一个有10年Python编程经验的工程师&#xff0c;我深知Python在物流行业中的广泛应用。而运输打折作为物流运营中的重要一环&#xff0c;一直是Python开发者面临的一个难题。本文将介绍一些 Python 应用程序&#xff0c;帮助你计算和优化你的运…

Flink DataStream之创建执行环境

新建project&#xff1a; pom文件 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://ma…

基于springboot实现的博客系统(免费)

1.1 项目概述 开发语言&#xff1a;Java8 数据库&#xff1a;MySQL5.7以上版本 前端技术&#xff1a;template模板引擎 后端技术&#xff1a;Springboot SpringMVC MyBaties shiro 数据库连接池&#xff1a;Druid 服务器&#xff1a;Tomcat 开发工具&#xff1a;idea…

如何优雅的实现跨应用的代码共享

在 2020 年上半年&#xff0c;Webpack 发布了一项非常激动人心的特性&#xff1a;Module Federation(译为模块联邦)&#xff0c;这个特性一经推出就获得了业界的广泛关注&#xff0c;甚至被称为前端构建领域的Game Changer。实际上&#xff0c;这项技术确实很好地解决了多应用模…

一步一步指导如何使用 ESP 深度学习在 ESP32-S3 上进行手势识别

在本文中,我们将了解如何使用ESP-DL并在ESP32-S3上部署深度学习模型。文末附免费源代码下载链接 人工智能改变了计算机与现实世界交互的方式。决策是通过将微型低功耗设备和传感器的数据获取到云端来进行的。连接性、高成本和数据隐私是这种方法的一些缺点。边缘人工智…

Character类(Java)

文章目录 1. 介绍2. 分析3. 方法3.1 isDigit()方法 --- isLetter()方法3.2 xxxx()方法3.2 xxxx()方法 1. 介绍 A. 类介绍&#xff1a;   Character 类在对象中包装一个基本类型 char 的值。Character 类型的对象包含类型为 char 的单个字段。 2. 分析 A. 类包结构&#xff1a…

SpringBoot整合redis并使用缓存注解

SpringBoot整合redis并使用缓存注解 直接上代码 添加Redis依赖&#xff0c;在pom.xml文件中添加以下依赖&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId> &l…

《找 bug 的活动》VIP 会员免费的视频,PC Web 端无法观看

《找 bug 的活动》VIP 会员免费的视频&#xff0c;PC Web 端无法观看 文章目录 《找 bug 的活动》VIP 会员免费的视频&#xff0c;PC Web 端无法观看问题描述期望 问题描述 CSDN 学习中心的视频课&#xff0c;有部分是 VIP 会员免费的课程&#xff0c;但是会重复跳转到 确认订…

支持CT、彩色超声、内窥镜检查的医院影像PACS系统源码(三维重建技术)

首先&#xff0c;PACS影像存取与传输系统是以实现医学影像数字化存储、诊断为核心任务&#xff0c;从医学影像设备&#xff08;如CT、CR、DR、MR、DSA、RF等&#xff09;获取影像&#xff0c;集中存储、综合管理医学影像及病人相关信息&#xff0c;建立数字化工作流程。 其次&…

思必驰:以对话式语言计算大模型为核心的大模型体系,才是未来!

2023年6月26日&#xff0c;思必驰联合创始人、首席科学家俞凯在第五届全球智博会发表主题演讲《对话式通用人工智能与专业化语言大模型》&#xff0c;他表示大模型是人工智能的新时代&#xff0c;语言大模型、对话式的语言大模型是整个人工智能大模型进一步突破的核心。而专业化…

Unity UGUI Canvas Overlay模式获取屏幕坐标

UGUI Canvas Overlay模式获取屏幕坐标 &#x1f354;效果&#x1f371;获取 &#x1f354;效果 &#x1f371;获取 ui的position就是屏幕坐标(●’◡’●) var screenPos new Vector2(transform.position.x, transform.position.y);