基于 CentOS 7 构建 LVS-DR 群集 配置nginx负载均衡
环境配置:
| RHCE | 客户机 | 192.168.100.146 |
| node1 | lvs | 192.168.100.145 |
| node2 | RS | 192.168.100.147 |
| node3 | RS | 192.168.100.148 |
配置ipvsadm httpd:
[root@node1 ~]# yum install ipvsadm.x86_64
[root@node2 ~]# yum install http -y
[root@node2 ~]# systemctl start httpd
[root@node3 ~]# yum install http -y
[root@node3 ~]# systemctl start httpd
配置LVS虚拟IP(VIP)
[root@node1 ~]# ifconfig ens33:200 192.168.100.200 netmask 255.255.255.0 up
将内容写入/var/www/html 测试httpd
[root@node3 ~]# echo "web test page,ip is `hostname -I`" > /var/www/html/index.html
[root@node3 ~]# systemctl start httpd
[root@node3 ~]# curl 192.168.100.148
web test page,ip is 192.168.100.148[root@node2 ~]# echo "web test page,ip is `hostname -I`" > /var/www/html/index.html
[root@node2 ~]# systemctl start httpd
[root@node2 ~]# curl 192.168.100.147
web test page,ip is 192.168.100.147
手工在RS端绑定VIP
[root@node3 ~]# ifconfig lo:200 192.168.100.200 netmask 255.255.255.255 up
[root@node2 ~]# ifconfig lo:200 192.168.100.200 netmask 255.255.255.255 up
添加RS访问VIP路由
[root@node2 ~]# route add -host 192.168.100.200 dev lo
[root@node3 ~]# route add -host 192.168.100.200 dev lo
手工在RS端一直ARP响应
调整内核参数
[root@node3 all]# echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@node3 all]# echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
[root@node3 conf]# echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@node3 conf]# echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
[root@node3 ~]# echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@node3 ~]# echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
[root@node3 ~]# echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@node3 ~]# echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
arp_ignore- INTEGER
手工执行配置添加LVS服务并增加两台RS
[root@node1 ~]# ipvsadm -A -t 192.168.100.200:80 -s rr
[root@node1 ~]# ipvsadm -a -t 192.168.100.200:80 -r 192.168.100.147:80 -g
[root@node1 ~]# ipvsadm -a -t 192.168.100.200:80 -r 192.168.100.148:80 -g
ipvs查看配置状态
[root@node1 ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.100.200:80 rr
-> 172.168.100.147:80 Route 1 0 0
-> 172.168.100.148:80 Route 1 0 0
客户机检测配置
[root@RHCE ~]# for ((i=1;i<=6;i++)); do curl 192.168.100.200; done
web test page,ip is 192.168.100.147
web test page,ip is 192.168.100.148
web test page,ip is 192.168.100.147
web test page,ip is 192.168.100.148
web test page,ip is 192.168.100.147
web test page,ip is 192.168.100.148
使用nginx配置负载均衡
| RHCE | 192.168.100.146 | 负载均衡服务器 |
| node2 | 192.168.100.148 | nginx服务器 |
| node3 | 192.168.100.149 | nginx服务器 |
安装nginx可以使用如下仓库:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
关闭防火墙 以及SELinux宽容模式
systemctl stop firewalld setenforce 0
启动服务并向主机 node2 node3 写入内容
systenctl start nginx 启动nginx服务echo "web test page ip is `hostname -I`" > /usr/share/nginx/html/index.html #写入内容systenctl start nginx 再次启动nginx服务
在RHCE负载均衡服务器上配置
vim /etc/nginx/nginx.conf #在 http模块中写入如下内容server {listen 80;server_name test.ng.test; 定义域名 也可以用iplocation / {proxy_pass http://web_server;}}upstream web_server {server 192.168.100.148:80; nginx服务器地址 server 192.168.100.149:80;}

测试结果:

相关文章:
基于 CentOS 7 构建 LVS-DR 群集 配置nginx负载均衡
环境配置: RHCE客户机192.168.100.146node1lvs192.168.100.145node2RS192.168.100.147node3RS192.168.100.148 配置ipvsadm httpd: [rootnode1 ~]# yum install ipvsadm.x86_64 [rootnode2 ~]# yum install http -y [rootnode2 ~]# systemctl …...
CSS练习
CSS练习 工具代码运行结果 工具 HBuilder X 代码 <!DOCTYPE html> <!-- 做一个表格,6行4列实现隔行换色(背景色)并且第3列文字红色第一个单元格文字大小30px。最后一个单元格文字加粗--> <html><head><meta ch…...
基于深度学习的3D城市模型增强【Mask R-CNN】
在这篇文章中,我们描述了一个为阿姆斯特丹 3D 城市模型自动添加门窗的系统(可以在这里访问)。 计算机视觉用于从城市全景图像中提取有关门窗位置的信息。 由于这种类型的街道级图像广泛可用,因此该方法可用于较大的地理区域。 推荐…...
LabVIEW对并行机器人结构进行建模仿真
LabVIEW对并行机器人结构进行建模仿真 为了对复杂机器人结构的数学模型进行建模、搜索、动画和验证,在工业机器人动态行为实验室中,设计并实现了具有五个自由度的单臂型机器人。在研究台上可以区分以下元素:带有直流电机和编码器的机器人;稳…...
【算法题】1281. 整数的各位积和之差
题目: 给你一个整数 n,请你帮忙计算并返回该整数「各位数字之积」与「各位数字之和」的差。 示例 1: 输入:n 234 输出:15 解释: 各位数之积 2 * 3 * 4 24 各位数之和 2 3 4 9 结果 24 - 9 15 示…...
(一)ES6 介绍
为什么学习ES6 ES6的版本变动内容最多,具有里程碑意义ES加入许多新的语法特性,编程实现更简单、搞笑ES6是前端发展趋势,就业必备技能 什么是ECMA ECMA(European Computer Manufacturers Association),中…...
窥孔优化(Peephole Optimization)
窥孔优化(Peephole Optimization)是编译器中的一个技术,用于优化生成的中间代码或目标代码。该优化方法通过查看代码的小部分(或称为“窥孔”)来识别并提供更高效的代码替代方案。 1. 基本概念 定义:窥孔优…...
Docker安装ElasticSearch/ES 7.4.0
目录 前言安装ElasticSearch/ES安装步骤1:准备1. 安装docker2. 搜索可以使用的镜像。3. 也可从docker hub上搜索镜像。4. 选择合适的redis镜像。 安装步骤2:拉取ElasticSearch镜像1 拉取镜像2 查看已拉取的镜像 安装步骤3:创建容器创建容器方…...
无涯教程-Perl - readline函数
描述 此函数从EXPR引用的文件句柄中读取一行,并返回输出。如果要直接使用FILEHANDLE,则必须将其作为typeglob传递。 Simply readline function is equvivalent to <>. 语法 以下是此函数的简单语法- readline EXPR返回值 此函数在标量context中仅返回一行,而在列表…...
类与对象(入门)
目录 1.前言 2.类的引入 3.类的定义 4.类的访问限定符及封装 4.1 访问限定符 4.2 封装 5.类的作用域 6.类的实例化 7. 结构体内存对齐规则 8.this指针 8.1 this指针的引出 8.2 this指针的特性 1.前言 C 是 基于面向对象 的, 关注 的是 对象 ,…...
刷题记录(2023-08-12)
1. 小美的排列询问 AC代码: #include <iostream> #include <vector> using namespace std;int main() {int n;cin >> n;vector<int> nums(n);int a, b;for (int i 0; i < n; i) {cin >> nums[i];}cin >> a >> b;for…...
GPT内功心法:搜索思维到GPT思维的转换
大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…...
在WebStorm中通过live-server插件搭建Ajax运行环境
1.下载node.js 官网: https://nodejs.cn/download/ 2.配置Node.js的HTTPS 使用淘宝的镜像: npm config set registry https://registry.npm.taobao.org 也可以使用cnpm npm install -g cnpm --registryhttps://registry.npm.taobao.org 配置之后可以验证是否成…...
侯捷 C++ part2 兼谈对象模型笔记——1 转换
1 转换 1.1 转换函数 将当前对象的类型转换成其他类型 以 operator 开头,函数名称为需要转成的类型,无参数前面不需要写返回类型,编译器会自动根据函数名称进行补充转换函数中,分子分母都没改变,所以通常加 const …...
尚硅谷大数据项目《在线教育之采集系统》笔记003
视频地址:尚硅谷大数据项目《在线教育之采集系统》_哔哩哔哩_bilibili 目录 P036 P037 P038 P039 P041 P042 P043 P044 P045 P046 P036 先启动zookeeper,在启动kafka,启动hadoop中的hdfs node003启动flume,node001启动f…...
PAT(Advanced Level)刷题指南 —— 第七弹
一、1012 The Best Rank 1. 问题重述 排序问题,原题叙述比较清晰,按照A > C > M > E四种排序的最高名次以及对应的排序方式输出。 2. Sample Input 5 6 310101 98 85 88 310102 70 95 88 310103 82 87 94<...
合宙Air724UG LuatOS-Air script lib API--sys
sys Table of Contents sys sys.restart sys.wait(ms) sys.waitUntil(id, ms) sys.waitUntilExt(id, ms) sys.taskInit(fun, …) sys.init(mode, lprfnc) sys.timerStop(val, …) sys.timerStopAll(fnc) sys.timerStart(fnc, ms, …) sys.timerLoopStart(fnc, ms, …) sys.time…...
MySQL建表和增添改查
1.创建一个名为mydb的数据库 mysql> show database mydb; 查询 mysql> show database mydb; 2.创建一个学生信息表 mysql> create table mydb.student_informtion( -> student_id int UNSIGNED NOT NULL PRIMARY KEY, //非空(不允许为空࿰…...
@Transactional 注解下,事务失效的七种场景
此文章为笔记,为阅读其他文章的感受、补充、记录、练习、汇总,非原创,感谢每个知识分享者。 文章目录 1、异常被捕获后没有抛出2、抛出非运行时异常3、方法内部直接调用4、新开启一个线程5、注解到private方法上6、数据库本身不支持7、事务传…...
chrome V3 插件开发 基础
目录 准备popup通信popup 发消息给 backgroundpopup 发消息给 content长期连接 如何页面上添加一个按钮?tabs.onUpdatedcontent-script.jsinject.js 右键菜单chrome.contextMenus举个例子添加关于报错(cannot create item with duplicate id XXX…...
【50】软考软件设计师——【终章】50篇学习复盘与工程师之路|知识复盘+领证流程+进阶指引
摘要:本文是《软件设计师50讲通关|从零基础到工程师职称》专栏第50篇终章,也是整个专栏的收官与升华篇。全文围绕「备考闭环复盘+职业长期成长」双核心展开,完成三大使命:一是全专栏50篇知识体系结构化复盘,串联基础理论、算法、设计、机考、冲刺全模块,形成可视化知识地…...
机器人操作系统ROS的架构分析与应用开发
机器人操作系统ROS的架构分析与应用开发 随着人工智能和机器人技术的快速发展,机器人操作系统(Robot Operating System, ROS)已成为机器人开发领域的核心工具之一。ROS以其模块化、分布式和开源的特点,为机器人应用开发提供了强大…...
AGI将重塑全球GDP格局:2026年前必须掌握的5个关键经济指标与应对框架
第一章:SITS2026专家:AGI的经济影响预测 2026奇点智能技术大会(https://ml-summit.org) 劳动力市场结构性重塑 SITS2026专家组基于多国宏观经济模型与AGI渗透率模拟指出,到2030年,具备自主目标建模与跨域推理能力的通用人工智能…...
3步解锁惠普OMEN全部性能:OmenSuperHub终极优化指南
3步解锁惠普OMEN全部性能:OmenSuperHub终极优化指南 【免费下载链接】OmenSuperHub 使用 WMI BIOS控制性能和风扇速度,自动解除DB功耗限制。 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否感觉自己的惠普OMEN游戏本性能被无形…...
mysql高频触发器降低SQL执行效率_优化触发器逻辑或改用存储过程
触发器中避免嵌套多条DML、跨库查询和无索引SELECT,优先用ON DUPLICATE KEY UPDATE合并操作;存储过程须显式事务控制与错误处理;权限配置需指定低权限DEFINER并确保必要授权。触发器里写 UPDATE/INSERT 太多,SQL 执行变慢MySQL 触…...
IPXWrapper:让经典游戏重获新生,10分钟实现跨时代联机
IPXWrapper:让经典游戏重获新生,10分钟实现跨时代联机 【免费下载链接】ipxwrapper 项目地址: https://gitcode.com/gh_mirrors/ip/ipxwrapper 还记得那些年,你和朋友挤在电脑前玩《红色警戒2》《星际争霸》的快乐时光吗?…...
合并报表系统:多公司财务报表的自动合并
合并报表系统:多公司财务报表的自动合并 在全球化与集团化经营日益普遍的今天,企业往往需要管理多家子公司或分支机构的财务数据。传统的手工合并报表方式不仅耗时耗力,还容易因人为错误导致数据不准确。合并报表系统的出现,为企…...
移动端AI编程已过临界点?SITS2026实测数据:开发人效↑310%,CR缺陷↓68%,但92%团队正踩这4个认知盲区!
第一章:SITS2026案例:AI移动端代码生成 2026奇点智能技术大会(https://ml-summit.org) SITS2026(Smart Intelligence Technology Summit 2026)首次在移动端部署轻量化AI代码生成引擎,支持开发者通过自然语言描述实时…...
技术速递|GitHub Copilot CLI 结合多模型能力提供“第二视角”
作者:Nick McKenna & Bartek Perz 排版:Alan Wang 了解 Rubber Duck 如何为 GitHub Copilot CLI 带来不同的思路与视角。 当你让一个编码智能体构建数据管道时,它未必会采用最优结构。但如果在执行方案之前,让它先获得“第二视…...
Vite打包中如何解决第三方库未导出default的兼容性问题
1. 问题背景与现象解析 最近在用ViteVue3TypeScript开发项目时,很多小伙伴都遇到过这样的报错:"default" is not exported by "node_modules/..."。这个错误通常发生在引入第三方库的时候,比如使用CodeMirror编辑器或者…...
