VIP + Nginx + Keepalived

news/2024/12/1 0:26:20/

VIP(Virtual IP Address),虚拟IP地址,主要是用来进行不同主机之间的切换,主要用在服务器的主从切换技术。主从服务器都配置同一个VIP地址,保障系统不间断切换。
Keepalived是高可用解决方案,借助VRRP协议实现高可用服务之间的故障切换转移。在 Keepalived服务正常工作时,主 Master节点会不断地向备节点发送(多播的方式)心跳消息,用以告诉备Backup节点自己还活着,当主 Master节点发生故障时,就无法发送心跳消息,备节点也就因此无法继续检测到来自主 Master节点的心跳了,于是调用自身的接管程序,接管主Master节点的 IP资源及服务。
本示例中将使用keepalived保障nginx主从代理服务器高可用。

一、环境说明:

操作系统:centos7
主机(master):192.168.2.145
备机(backup):192.168.2.146
VIP:192.168.2.166

两台机器均已安装nginx服务,浏览效果如下:
145
146

二、配置VIP

2.1、主机配置VIP

2.1.1 复制当前端口的网址配置文件,名称后增加“:1”;然后编辑该文件,修改name、device和ipaddr三个数据项,如下图所示。

cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens33:1
vi ifcfg-ens33:1

ens33

2.1.2 查看效果命令

ip addr

ip addr
2.1.3 浏览器访问验证VIP效果,如下图:
166

2.2、备机配置VIP

参见主机,略
ip a 146

三、安装Keepalived

3.1、主机安装配置

3.1.1 安装及编辑配置文件

yum install -y keepalived
vi keepalived.conf

keepalived config

3.1.2 创建并编辑nginx检测文件

vi check_nginx.sh

check nginx
3.1.3 启动keepalived服务

systemctl start keepalived

keep service

3.2备机安装配置

3.2.1 安装及配置过程参见主机
backup
3.2.2 主备配置差异说明
以下属性必须根据实际情况编写,尤其state必须有master和backup之分。

state #指定keepalived的角色,MASTER表示此主机是主服务器,BACKUP表示此主机是备服务器
interface #指定检测网络的网卡接口
priority #节点优先级,数字越大表示节点的优先级越高,在同一个VRRP实例下,MASTER的优先级必须比BACKUP高

以下属性必须一致

vrrp_instance VI_1 #VRRP实例开始的标识 VI_1为实例名称
virtual_router_id #虚拟路由标识,数字形式,同一个VRRP实例使用唯一的标识
auth_type PASS #预共享密钥认证,同一个虚拟路由器的keepalived节点必须一样
auth_pass #设置密钥
virtual_ipaddress #设置虚拟IP地址
nopreempt # 设置为非抢占模式,同一实例下主备设置必须一样

四、效果验证

使用vip访问,如下图:
vip
模拟主机宕机,录入命令:systemctl stop nginx
nginx stop
再次刷新vip访问的网页,返回内容切换为备机了,如下:
vip146


http://www.ppmy.cn/news/46520.html

相关文章

前端 + 后端 实现分片上传(断点续传/极速秒传)

先记录下,后面有时间再去实现 可参考链接:vue上传大文件/视频前后端(java)代码 前端 后端 实现分片上传(断点续传/极速秒传) 前端slice分片上传,后端用表记录分片索引和分片大小和分片总数&a…

BUUCTF-PWN-pwn1_sctf_2016

下载 放入 ubuntu里查信息 现在这些保护我都没有遇到 以后慢慢做应该是会遇到的 然后进行发现是32 所以我们记住 如果栈溢出漏洞 我们需要4个字节填满基地址 放入ida32 查看字符串 发现 cat flag 敏感字符串 然后我们就看引用 先记住地址 为 0x8048F0D 然后开始进去 发…

FPGA与ASIC的区别

先来看张图,本图体现出了集成电路产业链:设计业、制造业、封测业。 关于制造、封装测试我们看两张图稍作了解即可: 数字IC ASIC设计流程及EDA工具: (1)了解数字IC设计:在VLSI时代&#xff…

linux驱动开发 - 04_Linux 设备树学习 - DTS语法

文章目录 Linux 设备树学习 - DTS语法1 什么是设备树?2 DTS、DTB和DTC3 DTS 语法3.1 dtsi 头文件3.2 设备节点3.3 标准属性1、compatible 属性2、model 属性3、status 属性4、#address-cells 和#size-cells 属性5、reg 属性6、ranges 属性7、name 属性8、device_typ…

yolov8 做图片分类和 ResNet 的对比

文章大纲 yolo v8 图片分类简介与原理说明训练代码数据集的组织多尺度训练参考内容ResNet简介与原理说明训练代码与使用说明Usage其他 牛逼 分类模型分类效果不好怎么办?参考文献和学习路径自己实现windows 下基于pytorch 图片分类教程yolo v8 图片分类 简介与原理说明 简单…

【NestJs】使用连接mysql企业级开发规范

本篇将介绍如何建立 NestJs 的数据库连接、并使用数据库联表查询。 简介 Nest 与数据库无关,允许您轻松地与任何 SQL 或 NoSQL 数据库集成。根据您的偏好,您有许多可用的选项。一般来说,将 Nest 连接到数据库只需为数据库加载一个适当的 No…

毕业生招聘信息的发布与管理系统(论文+设计)

前 言 当今,人类社会已经进入信息全球化和全球信息化、网络化的高速发展阶段。丰富的网络信息已经成为人们工作、生活、学习中不可缺少的一部分。人们正在逐步适应和习惯于网上贸易、网上购物、网上支付、网上服务和网上娱乐等活动,人类的许多社会活动…

Node 01-Buffer

Buffer(缓冲器) 概念 Buffer 是一个类似于数组的 对象 ,用于表示固定长度的字节序列 Buffer 本质是一段内存空间,专门用来处理 二进制数据 。 特点 Buffer 大小固定且无法调整Buffer 性能较好,可以直接对计算机内存…