码迷,mamicode.com
首页 > 其他好文 > 详细

nginx+keepalive实现高可用负载均衡

时间:2018-06-09 00:06:24      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:keepalived+nginx高可实验

一:实验环境

主nginx负载均衡器:192.168.10.63 (通过keepalived配置了VIP:192.168.10.188供外使用)
副nginx负载均衡器:192.168.10.200(通过keepalived配置了VIP:192.168.10.188供外使用)
拓扑图:
技术分享图片
二:安装nginx和keepalived(用yum安装,在此处不编译安装了,用阿里云的yum仓库)
yum install nginx -y
yum install keepalived -y
三:配置nginx服务器:
master:192.168.10.63
cd /usr/share/nginx/html/
vi index.html
如图:
技术分享图片
技术分享图片
slave:192.168.10.200
cd /usr/share/nginx/html/
vi index.html
如图:
技术分享图片
技术分享图片
在浏览器里访问master和slave,检验配置是否正确:
技术分享图片
技术分享图片
四:配置keepalived服务器:
master的配置
cd /etc/keepalived/
cp keepalived.conf{,.bak} #备份配置文件,养成良好习惯,修改配置文件前一定要备份。
技术分享图片
技术分享图片
slave的配置:不多说,直接上图:
技术分享图片
技术分享图片
重启master,slave的keepalived,nginx。
master的vip 如图:
技术分享图片
关闭master的keepalivd,vip会漂移到slave上去,master上的截图:
技术分享图片
查看slave,次时vip已经漂移到salve上去了,salve上的截图:
技术分享图片
说明keepalived的配置没有问题。
五:检验keepalived和nginx的高可用:
技术分享图片
关闭master的nginx,自动切换到slave的nginx,如图:
master关闭nginx:
技术分享图片
再次刷新网页,跳转到了slave的界面:
技术分享图片
次时master的vip票已到slave上去了。master截图:
技术分享图片
salve的截图:
技术分享图片
vip为什么会漂移:
是因为调用了/carl/data/program/nginx/sbin/check_nginx_alive.sh,这个脚本判断nginx挂掉后(关闭),就killall keepalived,master上的keepalived就停止了,而keepalived上的是正常状态,所以vip就漂移到了slave。这个脚本内容如下:

         #!/bin/sh

PATH=/bin:/sbin:/usr/bin:/usr/sbin
A=ps -C nginx --no-header |wc -l
if [ $A -eq 0 ]
then
echo ‘nginx server is died‘
killall keepalived
fi
截图如下:
技术分享图片

总结:此实验室mater-slave实验,有nginx心跳脚本,只要nginx停止,该服务器上的keepalived就会killall keepalived 。master上的nginx停止后,master上的keepalived也会停止,vip漂移到slave上,vip对外的服务正常访问。但是:slave上的nginx停止后,是不会从salve上漂移到master上的。互为主从模式下,就要2个vip,次时DNS可以有2条A记录指向这2个VIP,又可以实现高可以,无论是挂哪个机器,都可以对外提供服务。
此次试验借鉴了其他博客的脚本,非常感谢他们!!

nginx+keepalive实现高可用负载均衡

标签:keepalived+nginx高可实验

原文地址:http://blog.51cto.com/10044854/2126575

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!