配置keepalived支持nginx高可用
实验环境
序号 | 主机名 | IP地址 |
---|---|---|
1 | nginx1 | 192.168.204.11 |
2 | nginx2 | 192.168.204.12 |
安装nginx
安装nginx
yum install -y epel-*
yum install -y nginx
编写HTML文件
nginx1上
echo -e "nginx1" > /usr/share/nginx/html/index.html
nginx2上
echo -e "nginx2" > /usr/share/nginx/html/index.html
启动nginx
systemctl start nginx
systemctl enable nginx
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
访问浏览器
安装配置keepalived
1.安装keepalived
yum install keepalived -y
2.在nginx1上配置keepalived
修改配置文件
vim /etc/keepalived/keepalived.conf
启动
systemctl start keepalived
systemctl enable keepalived
3.在nginx2上配置keepalived
修改配置文件
vim /etc/keepalived/keepalived.conf
启动
systemctl start keepalived
systemctl enable keepalived
4.在宿主机ping 192.168.204.10
,使用arp -a
查看缓存
5.浏览器访问虚拟地址
6.在nginx1上宕掉ens33网卡
在宿主机使用arp -a
查看缓存
在主机使用浏览器访问虚拟地址
可以看到,对192.168.204.10
的请求已从nginx1
节点转移到了nginx2
节点
配置keepalived支持nginx高可用
1.编写NGINX状态监测脚本
编写脚本/etc/keepalived/nginx_check.sh
#!/bin/bash
# file:/etc/keepalived/nginx_check.sh
N=`ps -C nginx --no-header | wc -l`
if [ $N -eq 0 ]; then
systemctl restart nginx
sleep 2
if [ `ps -C nginx --no-header | wc -l` -eq 0 ]; then
killall keepalived
fi
fi
赋予可执行权限
chmod +x /etc/keepalived/nginx_check.sh
测试脚本
2.配置keepalived支持NGINX高可用
在nginx1节点上编辑/etc/keepalived/keepalived.conf
vim /etc/keepalived/keepalived.conf
重新启动keepalived
systemctl restart keepalived
3.测试高可用
浏览器访问虚拟地址
在nginx1节点运行stop.sh脚本,然后使用浏览器访问虚拟地址
#!/bin/bash
# file:stop.sh
for ((i=0; i<=100; i++))
do
systemctl stop nginx
echo 'stoped. sleep 1s...'
sleep 1
done
本文链接: https://www.cnblogs.com/connect/p/nginx-keepalived-high-availability.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?