参考博客:https://www.silencetime.com/index.php/archives/29/

原博客说得很详细了 简单来说就是宝塔编译安装的Tengine 已经下载包含这模块了 只是没有添加
只需要在编译安装前 添加上就行了 针对性解决这个问题就是在选择编译安装的时候添加模块参数为

--add-module=/www/server/nginx/src/modules/ngx_http_upstream_check_module

就完事了

插一句 arm架构的默认bug好多 x86的直接编译安装就全都有了 且lua模块不会有问题
但是arm就会装不上 各种报错 烦死了
直接让arm当源站算了
以下仅为记录 参考 学习

简介

nginx_upstream_check_module 是由淘宝技术团队开发的一个 Tengine(Nginx 的分支)模块。Tengine 从 2.0 版本开始不再自带此模块,需要手动编译安装。对于单独安装的 Nginx,也需要额外下载和安装该模块。

作用

该模块用于提供主动式后端服务器健康检查。通过它可以检测后端真实服务器(realserver)的健康状态。如果后端服务器不可用,所有请求将不会转发到该节点上。

心跳检测的意义

  • 故障检测:如果有一台 Web 服务器死机或出现故障,服务能够立即检测到。
  • 自动剔除:故障服务器会被自动剔除,其他服务器将接替其工作。
  • 自动恢复:当服务器恢复正常后,将自动重新加入服务器群中。
  • 无需人工干预:所有这些操作均可自动完成,人工只需修复故障服务器。

编译安装 Tengine

步骤概述

  1. 下载解压 Tengine
  2. 定位到安装目录
  3. 查看当前编译命令
  4. 执行编译
  5. 替换 Nginx 命令并重启 Nginx

1. 下载解压

定位到 /www/server/nginx/src/ 目录。

如果你使用的是 Tengine,nginx_upstream_check_module 模块已经放在 /www/server/nginx/src/modules/ngx_http_upstream_check_module 目录下。

如果你使用的是 Nginx,则需要手动下载:

wget https://codeload.github.com/yaoweibin/nginx_upstream_check_module/zip/master
unzip master

2. 定位安装目录

cd /www/server/nginx/src/

3. 查看当前编译命令

运行以下命令以查看当前的编译选项:

nginx -V

4. 执行编译

在当前编译命令后,添加 --add-module 参数。

# Tengine 示例
./configure --user=www --group=www --prefix=/www/server/nginx --add-module=/www/server/nginx/src/modules/ngx_http_upstream_check_module

# 或者 Nginx 示例
./configure --user=www --group=www --prefix=/www/server/nginx --add-module=/www/server/nginx/src/nginx_upstream_check_module

然后执行编译和安装:

make && make install

5. 替换 Nginx 命令并重启 Nginx

生成的新 Nginx 命令在 objs 目录下,执行以下命令替换旧的 Nginx 命令:

cp objs/nginx /usr/bin/nginx

重启 Nginx:

service nginx restart

检查和应用

在网站的配置文件中头部插入以下内容:

upstream webproxy {
    server IP:端口;  # 项目 IP 和端口,例如 127.0.0.1:8888
    server IP:端口;  # 项目 IP 和端口,例如 127.0.0.1:8889
    check interval=3000 rise=2 fall=5 timeout=1000 type=http;
}

负载均衡配置

server 节点下的 location 节点中配置 proxy_pass

location / { 
    root html; 
    index index.html index.htm; 
    proxy_pass http://webproxy; 
}

至此,完成了网站的简单负载均衡配置。

最后修改:2024 年 12 月 06 日
如果觉得我的文章对你有用,请随意赞赏