Nginx+keepalived 脚本安装主从双机热备自动切换解决方案
原创作品,允许转载,转载时请务必以超链接形式标明文章
原始出处 、作者信息和本声明。否则将追究法律责任。http://kling.blog.51cto.com/3320545/1240359
Nginx+keepalived主从双机热备自动切换解决方案
测试环境如下:
系统:Ceentos 6.4 64位
主nginx服务器:192.168.122.5
备nginx服务器:192.168.122.6
VIP:192.168.122.15
一、Nginx+keepalived安装—脚本安装
|
二、主Nginx 配置
|
三、主Keepalived配置
|
四、备nginx配置
|
五、备keepalived配置
|
六、分别在2台nginx服务器上添加检测脚本:
|
七、测试
分别在2台nginx上启动nginx和keepalived服务,然后分别用ip a 查看ip
本文出自 “&思远晨曦” 博客,请务必保留此出处http://kling.blog.51cto.com/3320545/1240359
注:
1.这篇文章是keepalived单主高可用配置
2.keepalived没有解决自身故障的问题,更多是针对操作系统和网络故障来进行vip迁移
3.keepalived没有和nginx联动,也就是说nginx故障的情况下,keepalived不会知道,也就不会迁移vip,这个问题的解决方法:将监控脚步长期在后台持续运行(while无限循环,sleep 1)
脚步改造如下:
#!/bin/bash
# description:
# 定时查看Nginx是否存在,如果不存在则启动Nginx
# 如果启动失败,则停止keepalived
while [ a==a ]
do
status=`ps -C nginx --no-header |wc -l`
if [ $status -eq 0 ];then
/usr/local/nginx/sbin/nginx > /dev/null 2>&1
sleep 3
if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
killall keepalived > /dev/null 2>&1
fi
fi
sleep 1
done