Nginx + Keepalived 实现高可用架构
创作时间:
作者:
@小白创作中心
Nginx + Keepalived 实现高可用架构
引用
CSDN
1.
https://blog.csdn.net/weixin_39041354/article/details/136891247
负载均衡技术对于一个网站尤其是大型网站的web服务器集群来说是至关重要的!做好负载均衡架构,可以实现故障转移和高可用环境,避免单点故障,保证网站健康持续运行。
由于业务扩展,网站的访问量不断加大,负载越来越高。现需要在web前端放置nginx负载均衡,同时结合keepalived对前端nginx实现HA高可用。当一台nginx故障时,keepalived迅速检测出nginx服务状态并把vip主动漂移到另外一个节点上提供服务,实则用户是通过vip去访问后端的业务。
实验环境
本次使用2台Centos 7.9的机器来模拟Nginx高可用架构的实现过程
Hostname | IP | VIP |
|---|---|---|
Nginx_keep1 | ||
Nginx_keep2 |
安装nginx服务
参考链接中的方法:Nginx 服务安装
安装keepalived服务
Keepalived是Linux下面实现VRRP备份路由的高可靠性运行件。基于Keepalived设计的服务模式能够真正做到主服务器和备份服务器故障时VIP瞬间无缝交接。
Keepalived配置
vrrp_script check_nginx_status {
script "/home/nginx_keep/check_nginx_status.sh"
interval 2
weight 2
}
global_defs {
router_id rancher
}
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.200.16
}
}
监控脚本
监控脚本原理:当系统连续监控nginx服务出现故障时,这个时候就把本机的keepalived 服务器的进程pid号给杀掉,然后等vip迅速漂移到另外一个节点上对外提供正常服务,从而减少服务影响时间。
根据自己的环境情况来修改shell脚本情况
#!/bin/bash
NGINX_PROCESS_NAME="nginx"
KEEPALIVED_PROCESS_NAME="keepalived"
function check_nginx_status() {
local nginx_pid=$(pgrep -f "$NGINX_PROCESS_NAME")
if [ -z "$nginx_pid" ]; then
echo "Nginx is not running. Killing Keepalived..."
pkill -f "$KEEPALIVED_PROCESS_NAME"
return 1
else
echo "Nginx is running."
return 0
fi
}
while true; do
check_nginx_status
if [ $? -ne 0 ]; then
echo "Notification: Nginx is down and Keepalived has been killed." | mail -s "Nginx Down Alert" admin@example.com
fi
sleep 5
done
热门推荐
如何理解和应对市场中的资金流动?资金流动对市场有哪些潜在影响?
“中国版好莱坞”,走进浙江金华,金华不容错过的六个景点
哪种美白牙齿的方法对牙齿伤害比较小?
盐酸替扎尼定片:成分、作用机制与用药指南
棕竹怎么养才能更旺盛
锂电池质量好吗技术过关吗?如何判断?
三星堆和商朝到底啥关系,为何考古前后矛盾?夏朝迁徙之谜或解开
全身多发脂肪瘤病因是什么引起的
各地社会保险缴费基数排行及影响因素分析
图论导引 - 第三章 第一节:连通性
豆粕:“强预期”升温 市场等待预期兑现
发票:如何有效降低企业资金周转风险?
双相抑郁症:症状、治疗与就诊指南
艾青诗歌的主题
三角洲行动:跨国打击犯罪的跨境协作典范
闽南三元村郑氏族人祭祖
回迁房购买指南:产权、交易流程与配套设施全解析
民间有“识得千里光,一世不生疮”的说法,除了治毒疮,还有功效
此岸彼岸这对概念包括哪些方面的内涵?
想快速融入新团队的11个方法
工程类副高级职称申报对工作经验年限有什么规定?
白蒿简介:从植物学特征到栽培技术的全面解析
二甲双胍天天吃,切记“3要4不要”!
专科中的“小清华”,四川省单招公办院校层次划分!
如何选择合适的投资方式并进行分析?这种分析有哪些要点?
银行自动转账服务设置指南:三种渠道操作详解
品牌建设方案怎么制定才能提升知名度?
黄金变形的原因是什么?这些原因会带来哪些影响?
美国留学期间会遭遇欺凌的风险有多大
股票bar的含义是什么?股票bar对技术分析有何重要性?