Tengine配置负载均衡加健康检查

news/2025/2/9 4:35:43 标签: 负载均衡, 运维

Tengine是淘宝开发的nginx,默认就自带健康检查模块,不过需要手动指定编译安装
https://blog.51cto.com/tchuairen/2287789

1、下载Tengine
官网及下载地址:https://tengine.taobao.org/

2、解压并安装

# yum install pcre pcre-devel openssl openssl-devel -y
# useradd www
# tar zxvf tengine-2.3.3.tar.gz
# cd  tengine-2.3.3/  
# ./configure --user=www --group=www  --prefix=/usr/local/tengine --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --add-module=./modules/ngx_http_upstream_check_module
# make && make install
# /usr/local/tengine/sbin/nginx 

---------------------------------------
--add-module=./modules/xxx #表示安装本地自带的模块

3、配置负载均衡+健康检查
Tengine:用的是主动检查,可以设置检查页面
nginx:用的是被动检查,无法设置检查页面。

#后端web地址池   
    upstream manager {
        server 172.16.254.67:80 weight=1;
        server 172.16.250.6:80 weight=1;
        # 检查间隔2秒 连续检查2两次成功认为服务健康 连续检查3次失败认为服务不健康 健康检查超时时间5秒 检查类型http
        check interval=2000 rise=2 fall=3 timeout=3000 type=http;
        # 设定认为返回正常的响应状态
        check_http_expect_alive http_2xx http_3xx;
        #server 172.16.254.67:80 weight=1 max_fails=1 fail_timeout=10s;
        #server 172.16.250.6:80 weight=1 max_fails=1 fail_timeout=10s;
        #ip_hash;
        #server 172.16.254.67:80;
        #server 172.16.250.6:80;
    }
    
    server {
        listen       80;
        server_name  172.16.251.18;
        location / {
            index  index.html index.htm;
            #反向代理到地址池
            proxy_pass http://manager;
            proxy_set_header Host  $host;
            proxy_set_header X-Forwarded-For $remote_addr;  
            # 这个是官方nginx自带的被动检查,上面用的tengin是主动检查
            #proxy_next_upstream http_502 http_504  error timeout invalid_header;
        }
        # 配置健康检查的状态监控页
        # 也可以在请求监控页的时候带上参数以输出不同的格式,/status?format=html | /status?format=csv | /status?format=json

        location /status {
                check_status html;
                access_log off;
        }

        location ~ /.svn/ {
        deny all;
        }
        access_log /var/log/nginx/healthy_check.log;    

    }

在这里插入图片描述


http://www.niftyadmin.cn/n/5845510.html

相关文章

PHP JSON操作指南

PHP JSON操作指南 概述 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。PHP作为一门流行的服务器端脚本语言,支持对JSON数据进行读取、编写和解析。本文将…

【AIGC魔童】DeepSeek v3提示词Prompt书写技巧

【AIGC魔童】DeepSeek v3提示词Prompt书写技巧 (1)基础通用公式(适用80%场景)(2)问题解决公式(决策支持)(3)创意生成公式(4)学习提升公…

力扣 239.滑动窗口最大值

思路 滑动窗口 遍历 解题思路 基本思路:使用滑动窗口法遍历数组,动态维护当前窗口的最大值。 特殊情况:该方法有一个缺陷,如果出窗口的元素是当前窗口的最大值max时,接下来的窗口中的最大值就无法确定了,所…

初始JavaEE篇 —— Spring Web MVC入门(下)

找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程程(ಥ_ಥ)-CSDN博客 所属专栏:JavaEE 初始JavaEE篇 —— Spring Web MVC入门(上) 在上篇文章中,我们学习了一些注解的使用、Postman模…

高阶C语言|和结构体与位段的邂逅之旅

💬 欢迎讨论:在阅读过程中有任何疑问,欢迎在评论区留言,我们一起交流学习! 👍 点赞、收藏与分享:如果你觉得这篇文章对你有帮助,记得点赞、收藏,并分享给更多对C语言感兴…

【慕伏白教程】Zerotier 连接与简单配置

文章目录 下载与安装 WindowsLinux apt安装官方脚本安装 Zerotier 配置 新建网络网络配置 终端配置 WindowsLinux 下载与安装 Windows 进入Zerotier官方下载网站,点击下载 在下载目录找到安装文件,双击打开后点击 Install 开始安装 安装完成后&…

Linux如何设置软件开机启动呢?

有很多软件,我们安装完之后,服务器一旦重启,软件也需要我们手动再次启动,有很多的软件我们不想手动重启,例如Redis、Mysql、MQ等,那我们怎么配置软件跟着服务器也一起启动呢,今天就给大家带来软…

Vue3中watch和watchEffect的使用场景和区别

目录 watch 场景一:监听单个或多个特定数据的变化并执行副作用 场景二:监听多个数据源 watchEffect 场景一:自动追踪依赖并执行副作用 场景二:初始化时立即执行副作用 区别 监听方式 回调触发时机 响应式数据追踪方式 …