当前位置: 首页 > news >正文

使用Tengine 对负载均衡进行状态检查(day028)

本篇文章对于在服务器已经安装了nginx,但却希望使用Tengine 的状态检查或其他功能时使用,不需要卸载服务器上的nginx,思路是使用干净服务器(未安装过nginx)通过编译安装Tengine,通过对./configure的配置,保证安装Tengine的环境与nginx服务器相同,(同时,加入需要的Tengine模块),编译,最后将nginx代码传送至nginx服务器对应位置,覆盖原先nginx代码,完成nginx服务器上Tengine功能的更新。

1.前往Changelog - The Tengine Web Server,下载最新的tengine的tar包

2.解压tar包并进入目录中

3.编译安装前,安装依赖

yum install -y gcc make pcre pcre-devel openssl openssl-devel zlib zlib-devel  geoip geoip-devel perl perl-devel gperftools gperftools-devel libxslt libxslt-devel

yum install -y gd-devel

yum -y install perl-ExtUtils-Embed

此处例举大部分依赖,若下面出现问题大概率是此处缺少其他依赖

4.在已经配置好nginx的机器上,使用nginx  -V,查看nginx的configure  argument

--prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/tmp/client_body --http-proxy-temp-path=/var/lib/nginx/tmp/proxy --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi --http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi --http-scgi-temp-path=/var/lib/nginx/tmp/scgi --pid-path=/run/nginx.pid --lock-path=/run/lock/subsys/nginx --user=nginx --group=nginx --with-compat --with-debug --with-file-aio --with-google_perftools_module --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_degradation_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module=dynamic --with-http_mp4_module --with-http_perl_module=dynamic --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-http_xslt_module=dynamic --with-mail=dynamic --with-mail_ssl_module --with-pcre --with-pcre-jit --with-stream=dynamic --with-stream_ssl_module --with-stream_ssl_preread_module --with-threads --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic' --with-ld-opt='-Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,-E'

5.配置环境,在目录中运行如下命令(./configure     上面复制的配置信息+需要添加的模块)

注意:此处需要在tengine目录下,因为下面使用的是相对地址

因为tengine服务把ngx常用的第3方模块放在了源代码中的modules目录下面。

--add-module=modules/ngx_http_upstream_check_module 编译安装的时候增加upstream_check模块

--add-module=modules/ngx_http_upstream_session_sticky_module/ 增加会话共享模块

./configure --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/tmp/client_body --http-proxy-temp-path=/var/lib/nginx/tmp/proxy --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi --http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi --http-scgi-temp-path=/var/lib/nginx/tmp/scgi --pid-path=/run/nginx.pid --lock-path=/run/lock/subsys/nginx --user=nginx --group=nginx --with-compat --with-debug --with-file-aio --with-google_perftools_module --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_degradation_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module=dynamic --with-http_mp4_module --with-http_perl_module=dynamic --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-http_xslt_module=dynamic --with-mail=dynamic --with-mail_ssl_module --with-pcre --with-pcre-jit --with-stream=dynamic --with-stream_ssl_module --with-stream_ssl_preread_module --with-threads --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic' --with-ld-opt='-Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,-E' --add-module=modules/ngx_http_upstream_check_module/ --add-module=modules/ngx_http_upstream_session_sticky_module/

6.进行编译

make -j  1    这里1为cpu核心,或者直接make也可以

正常这一步如果要安装Tengine,make install 即可,这里不需要安装。

7.将当前目录下的objs下的nginx代码传到负载均衡服务器

scp ./objs/nginx lb01:~

8.负载均衡服务器检查./nginx -V,检查scp过来的nginx信息

注意图片最后两行已经加了对应的模块

9.将nginx代码替换掉原来的,scp是传至家目录,所以下面两条命令执行也是在家目录下。

mv  /sbin/nginx /sbin/nginx1

mv nginx /sbin/nginx

10.nginx -V,检查nginx信息,此时已经可以看到信息如第8步一致

注意:第八步看的是家目录下的nginx代码信息,此处看的是服务器nginx代码信息

nginx -t,检查语法

kill -USR2 pid  (通过老的命令向当前运行的ngx发送信号,准备被新的ngx进程替代)

kill pid(之前的ngx服务)

systemctl restart nginx 重新启动nginx。

11.对需要状态检查的页面进行配置,可以参考Tengine官网(ngx_http_upstream_check_module - The Tengine Web Server)

配置完成即可查看各个web服务器信息

12.各个参数

check interval=3000 rise=2 fall=5 timeout=1000 type=http;

检查间隔3000ms,成功两次即为活跃状态,失败五次即为挂掉状态,检查类型为http请求

check_http_send              代理向web服务器通过http方式发出请求报文,请求报文起始行,请求方法, 请求的URI,请求协议(默认使用的是ip方式 访问

check_http_expect_alive    收到指定的状态码,就认为是存活的

相关文章:

使用Tengine 对负载均衡进行状态检查(day028)

本篇文章对于在服务器已经安装了nginx,但却希望使用Tengine 的状态检查或其他功能时使用,不需要卸载服务器上的nginx,思路是使用干净服务器(未安装过nginx)通过编译安装Tengine,通过对./configure的配置,保证安装Tengi…...

网站推广实战案例:杭州翔胜科技有限公司如何为中小企业打开市场大门

以下是以杭州翔胜科技有限公司为例,解析其如何通过网站推广为中小企业打开市场大门的实战案例: 一、一站式网站推广方案 杭州翔胜科技有限公司提供一站式网站推广方案,该方案整合了多种推广手段,如搜索引擎优化(SEO&a…...

视频修复技术和实时在线处理

什么是视频修复? 视频修复技术的目标是填补视频中的缺失部分,使视频内容连贯合理。这项技术在对象移除、视频修复和视频补全等领域有着广泛的应用。传统方法通常需要处理整个视频,导致处理速度慢,难以满足实时处理的需求。 技术发…...

文心一言 VS 讯飞星火 VS chatgpt (396)-- 算法导论25.2 1题

一、在图 25-2 所示的带权重的有向图上运行 Floyd-Warshall 算法,给出外层循环的每一次迭代所生成的矩阵 D ( k ) D^{(k)} D(k) 。如果要写代码,请用go语言。 文心一言: 好的,让我们一步步分析在带权重的有向图上运行 Floyd-Wa…...

如何使用本地大模型做数据分析

工具:interpreter --local 样本数据: 1、启动分析工具 2、显示数据文件内容 输入: 显示/Users/wxl/work/example_label.csv 输出:(每次输出的结果可能会不一样) 3、相关性分析 输入: 分析客户类型与成…...

【Nginx从入门到精通】04-安装部署-使用XShell给虚拟机配置静态ip

文章目录 总结1、XShell &#xff1a;方便管理多台机器2、配置ip文件&#xff1a;区分大小写 一、查看上网模式二、Centos 7 设置静态ipStage 1 &#xff1a;登录root账号Stage 2 &#xff1a;设置静态ip : 修改配置文件 <font colororange>ifcfg-ens33Stage 2-1&#xf…...

C# 面向对象的接口

接口&#xff0c;多态性&#xff0c;密封类 C# 接口 遥控器是观众和电视之间的接口。 它是此电子设备的接口。 外交礼仪指导外交领域的所有活动。 道路规则是驾车者&#xff0c;骑自行车者和行人必须遵守的规则。 编程中的接口类似于前面的示例。 接口是&#xff1a; APIsC…...

使用IDEA+Maven实现MapReduced的WordCount

使用IDEAMaven实现MapReduce 准备工作 在桌面创建文件wordfile1.txt I love Spark I love Hadoop在桌面创建文件wordfile2.txt Hadoop is good Spark is fast上传文件到Hadoop # 启动Hadoop cd /usr/local/hadoop ./sbin/start-dfs.sh # 删除HDFS的hadoop对应的input和out…...

go语言示例代码

go语言示例代码&#xff0c; package mainimport "fmt" import "encoding/json"func main() {list : []int{11, 12, 13, 14, 15}for i,x : range list {fmt.Println("i ", i, ",x ", x)}fmt.Println("")for i : range l…...

华为云容器监控平台

首先搜索CCE,点击云容器引擎CCE 有不同的测试&#xff0c;生产&#xff0c;正式环境 工作负载--直接查询服务名看监控 数据库都是走的一个 Redis的查看...

阿里短信发送报错 InvalidTimeStamp.Expired

背景 给客户做的人力资源系统&#xff0c;今天客户用阿里云短信&#xff0c;结果报错&#xff1a; nvalidTimeStamp.Expired Specified time stamp or date value is expired. HTTP Status: 400 RequestID: A 怎么办呢&#xff1f;搜资料&#xff0c; 是客户端时间&#xff…...

Ubuntu问题 -- 设置ubuntu的IP为静态IP (图形化界面设置) 小白友好

目的 为了将ubuntu服务器IP固定, 方便ssh连接人在服务器前使用图形化界面设置 设置 找到自己的网卡名称, 我的是 eno1, 并进入设置界面 查看当前的IP, 网关, 掩码和DNS (注意对应eno1) nmcli dev show掩码可以通过以下命令查看完整的 (注意对应eno1) , 我这里是255.255.255.…...

Sigrity SPEED2000 TDR TDT Simulation模式如何进行时域阻抗仿真分析操作指导-差分信号

Sigrity SPEED2000 TDR TDT Simulation模式如何进行时域阻抗仿真分析操作指导-差分信号 Sigrity SPEED2000 TDR TDT Simulation模式如何进行时域阻抗仿真分析操作指导-单端信号详细介绍了单端信号如何进行TDR仿真分析,下面介绍如何对差分信号进行TDR分析,还是以下图为例进行分…...

Cesium 加载B3DM模型

一、引入Cesium&#xff0c;可以使用该链接下载cesium 链接: https://pan.baidu.com/s/1BRQyaFCkxO2xQQT5RzFUCw?pwdkcv9 提取码: kcv9 在index.html文件中引入cesium <script type"text/javascript" src"/Cesium/Cesium.js"></script> …...

阿里巴巴官方「SpringCloudAlibaba全彩学习手册」限时开源!

最近我在知乎上看过的一个热门回答&#xff1a; 初级 Java 开发面临的最大瓶颈在于&#xff0c;脱离不出自身业务带来的局限。日常工作中大部分时间在增删改查、写写接口、改改 bug&#xff0c;久而久之就会发现&#xff0c;自己的技术水平跟刚工作时相比没什么进步。 所以我们…...

Docker是一个容器化平台注意事项

Docker本身是一个容器化平台&#xff0c;它允许你将应用及其依赖打包到一个可移植的容器中&#xff0c;然后可以在任何安装了Docker的机器上运行这个容器。Docker容器是跨平台的&#xff0c;但有一些限制和注意事项&#xff1a; 跨架构不可行 操作系统兼容性&#xff1a;Docke…...

Redis中的zset用法详解

文章目录 Redis中的zset用法详解一、引言二、zset的基本概念和操作1、zset的添加和删除1.1、添加元素1.2、删除元素 2、zset的查询2.1、获取元素分数2.2、获取元素排名 3、zset的范围查询3.1、按排名查询3.2、按分数查询 三、zset的应用场景1、排行榜1.1、添加玩家得分1.2、获取…...

上位机编程命名规范

1.大小写规范 文件名全部小写是一种广泛使用的命名约定&#xff0c;特别是在跨平台开发和开源项目中。主要原因涉及技术约束、可读性和一致性等方面。以下是原因和优劣势的详细分析&#xff1a; 1. 避免跨平台问题 不同操作系统对文件名的大小写处理方式不同&#xff1a; Li…...

Python 操作mysql - 关系型数据库存储

Python 操作mysql - 关系型数据库存储 文章目录 Python 操作mysql - 关系型数据库存储简单介绍连接数据库创建表插入数据更新数据删除数据查询数据 简单介绍 关系型数据库是一种以“关系”的方式来组织和存储数据的数据库。它使用表&#xff08;也称为“关系”&#xff09;来表…...

React基础知识一

写的东西太多了&#xff0c;照成csdn文档编辑器都开始卡顿了&#xff0c;所以分篇写。 1.安装React 需要安装下面三个包。 react:react核心包 react-dom:渲染需要用到的核心包 babel:将jsx语法转换成React代码的工具。&#xff08;没使用jsx可以不装&#xff09;1.1 在html中…...

用 Excel 手算一个 1-6-1 MLP:前向传播、损失、反向传播与参数更新

计算示例&#xff1a;本文用一个单输入、6 个隐藏神经元、单输出的多层感知机&#xff08;MLP&#xff09;作为例子&#xff0c;展示如何用 Excel 公式完整复现一次训练迭代。配套 Excel 文件中的“MLP计算过程”工作表已经把前向传播、损失计算、反向传播梯度和参数更新全部写…...

2026这6款宝藏降AIGC软件大起底,一键把AIGC率降至安全线!

步入 2026 年&#xff0c;学术圈的风向早已不是过去那个只看查重率的时代了。如今&#xff0c;AI 检测系统像长了眼睛一样&#xff0c;精准捕捉每一段文字中的 AI 痕迹。高校的审核标准也愈发严苛&#xff0c;论文不仅要“看起来像人写的”&#xff0c;更要“读起来像人写的”。…...

Windows Defender彻底移除指南:3步释放30%系统性能的终极方案

Windows Defender彻底移除指南&#xff1a;3步释放30%系统性能的终极方案 【免费下载链接】windows-defender-remover A tool which is uses to remove Windows Defender in Windows 8.x, Windows 10 (every version) and Windows 11. 项目地址: https://gitcode.com/gh_mirr…...

BinaryBomb通关后,我总结了这6个Linux调试与逆向的‘骚操作’

BinaryBomb通关后&#xff0c;我总结了这6个Linux调试与逆向的‘骚操作’ 在计算机系统基础课程中&#xff0c;BinaryBomb实验堪称是检验学生调试与逆向能力的"试金石"。作为一位刚刚通关的"拆弹专家"&#xff0c;我想分享那些教科书上不会教、却能让你效率…...

新手教程使用curl命令通过Taotoken测试大模型API连通性

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 新手教程&#xff1a;使用curl命令通过Taotoken测试大模型API连通性 当你刚刚在Taotoken平台创建了API Key&#xff0c;最直接、最…...

百度网盘提取码智能查询工具:3分钟掌握资源密码自动获取技巧

百度网盘提取码智能查询工具&#xff1a;3分钟掌握资源密码自动获取技巧 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 还在为百度网盘分享链接的提取码而烦恼吗&#xff1f;每次找到心仪的资源却卡在密码输入环节&#xff0…...

NotebookLM视频转文字API未公开的底层协议解析:如何绕过30分钟时长限制并批量处理TB级教学视频

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;NotebookLM视频转文字功能概览与官方限制边界 NotebookLM 是 Google 推出的面向研究者与知识工作者的 AI 助手&#xff0c;其核心能力之一是基于用户上传的内容&#xff08;如 PDF、网页、音频&#xf…...

Gitee 企业版三大模块升级解读:项目模板、工作项流程与测试资产如何降低协作成本

作者&#xff1a;Gitee 企业版产品/研发协作团队 资料依据&#xff1a;Gitee 官方博客&#xff08;2026年1月23日发布&#xff09;、Gitee 帮助中心、Gitee 企业版功能说明文档 适读对象&#xff1a;项目经理、研发负责人、测试负责人、企业研发平台管理员 核心结论 Gitee 企…...

别再手动刷权重了!用Maya的ADV插件,30分钟搞定角色身体绑定(附减模包裹技巧)

别再手动刷权重了&#xff01;用Maya的ADV插件30分钟完成角色身体绑定 角色绑定一直是三维动画制作中的痛点环节。记得刚入行时&#xff0c;我曾为一个穿着皮夹克的游戏角色手动刷权重整整两天&#xff0c;结果肘部变形依然不自然。直到接触ADV插件的减模包裹功能&#xff0c;…...

CANN/asc-devkit向量取反API

asc_neg 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言&#xff0c;原生支持C和C标准规范&#xff0c;主要由类库和语言扩展层构成&#xff0c;提供多层级API&#xff0c;满足多维场景算子开发诉求。 项目地址: https://gitcode.com/ca…...