news 2026/2/5 14:29:01

Keepalived + Nginx实现高可用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Keepalived + Nginx实现高可用

IP规划

VIP

IP

nginx端口

默认主从

192.168.100.250

192.168.100.201

80

MASTER

192.168.100.250

192.168.100.202

80

BACKUP

  1. 基础环境配置

(1)配置IP

(2)修改主机名

(3)配置yum源

(两台虚拟机相同)

2. 安装nginx

(1)首先安装依赖(两个节点同步)

(2)安装nginx

(3)解压nginx压缩包

(4)进入nginx目录,编译并安装

(两个节点同步)

(5)修改nginx首页面IP地址

(welcome to nginx改成本机IP,从节点同理,改为192.168.100.202)

(6)启动nginx

(两个节点同步)

防火墙开启80端口

浏览器访问nginx

3.安装keepalived

(1)编辑配置文件(主节点)

(从节点)

(2)编写nginx状态检测脚本

给脚本添加执行权限

(3)开启组播防火墙

查看规则是否生效

(4)启动keepalived

查看是否成功

可以看到,192.168.100.201拿到了VIP 192.168.100.250

而从节点只有192.168.100.202这个IP,正常

注意:MASTER节点正常的情况下,BACKUP节点一定不会有浮动IP,也就是VIP只能同时在一个节点上

(5)验证VIP漂移

关闭主节点的keepalive服务,验证VIP是否会漂移到BACKUP节点上

主节点的VIP已经没了

VIP已经成功漂移到BACKUP节点上了

4. keepalived+nginx的高可用性测试

访问浮动IP

正常情况下,浮动IP飘到MASTER节点上,所以访问后显示的主节点的nginx首页

关闭主节点的keepalived服务后,再次访问浮动IP:

可以看到此时显示的是从节点的nginx首页

NAT模式LVS搭建

NET模式下,调度器需要有两个IP,一个公网IP一个内网IP,真实服务器只需要内网IP。此架构需要准备三台虚拟机。三台虚拟机的IP分配如下:

调度器dir:192.168.100.201(内网IP,vmware为NAT模式),192.168.183.128(公网IP,vmware仅主机模式)。

真实服务器rs1:192.168.100.202(内网IP)

真实服务器rs2:192.168.100.203(内网IP)

其中调度器上有两块网卡,作为内网的这块网卡使用的是NAT的网络,而作为“公网”的网卡使用的是仅主机网络。需要注意,所谓的公网其实仅仅是模拟的,并不是真正意义上的公网。在配置LVS之前,需要做一些准备工作。首先,真实服务器rs1(192.168.100.202)和rs2(192.168.100.203)上要把内网的网关设置为dir的内网IP(192.168.100.201),否则实验无法成功。

在dir上编写脚本

脚本编写完成后直接执行

在dir上分别访问两个rs

可以区分rs1和rs2,然后访问192.168.183.128

连续多次访问,一直请求在rs2上,是因为脚本中有设置-p参数,理论上在300秒内会一直请求在rs2上。重新编辑/usr/local/sbin/lvs_nat.sh脚本把-p参数删除,然后再次测试

DR模式LVS搭建

DR模式需要三台虚拟机,三台虚拟机只需要有“公网”IP,但在这种模式下又多了一个VIP。对应的机器和IP如下:

调度器dir:192.168.100.201

真实服务器rs1:192.168.100.202

真实服务器rs2:192.168.100.203

VIP:192.168.100.110

首先把两台rs的网关改成原始网关,不能继续设置为dir的IP地址了。然后我们需要在dir上编写一个shell脚本

两台rs上也需要编辑脚本

分别执行脚本

执行完三个脚本后,就可以测试了。但这次不可以直接在dir上用curl命令直接测试了,因为VIP在三台机器上都有设置。所以只能用浏览器来测试结果

keepalived+LVS

LVS架构中,不管是NAT模式还是DR模式,当后端的RS宕掉时,调度器依然会把请求转发到宕掉的RS上,这样的结果并不是我们想要的。其实,keepalived就可以解决该问题,它不仅仅有高可用的功能,还有负载均衡的功能。在调度器上只要安装了keepalived,就不用再安装ipvsadm了,也不用去编写LVS相关的脚本了,也就是说keepalived已经嵌人了LVS功能。完整的keepalived+LVS架构需要有两台调度器实现高可用,提供调度服务的只需要一台,另外一台作为备用。

为了节省资源,我们只设置一台主keepalived

主keepalived(调度器):192.168.100.201

真实服务器rs1:192.168.100.202

真实服务器rs2:192.168.100.203

VIP:192.168.100.110

编辑keepalived配置文件

首先清空配置文件

然后编辑

清空之前的ipvsadm和VIP

在两台rs上执行脚本

然后启动keepalived服务

检查有没有keepalived进程

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/4 6:22:17

深度学习计算机毕设之基于python深度学习的苹果和西红柿识别

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/2/5 6:24:40

深度学习计算机毕设之基于python深度学习的道路坑洼识别机器学习

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/2/4 23:50:35

深度解读:AI应用架构师与AI驱动预算管理的融合

深度解读:AI应用架构师与AI驱动预算管理的融合 - 构筑智能财务决策的未来引擎 目标读者: 企业技术负责人(CTO、技术总监)、系统架构师、财务数字化转型负责人、具有一定技术背景的业务管理者。他们熟悉企业IT架构基本概念、了解预…

作者头像 李华
网站建设 2026/2/5 2:09:21

限时公开!8款AI论文神器爆火,1天搞定全文告别熬夜!

深夜警报!毕业季/截稿期最后3天,你的论文还停留在标题页? 别再对着空白文档焦虑到天亮!这篇文章将为你揭晓2026年最受顶尖学霸和赶稿人私藏的8款AI论文神器,特别是被誉为“救急王炸”的巨鲸写作,它能让你在…

作者头像 李华
网站建设 2026/2/5 13:44:13

深度学习毕设项目:基于python深度学习的苹果和西红柿识别

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华