前言:由于之前一直使用的是主从高可用加后端负载,随着业务量的增大,前端一台服务在高峰时期有些吃力,所有对之前架构进行了一点改造,把主从升级成了双主,可以更充分的利用现有服务器资源,由于实验环境有限,后端的测试仅仅使用了一个静态页面,没有搭建动态环境,也没用使用数据库,如有需要可以参考其他文档。
一、架构规划
1、服务器IP地址规划
VIP1:192.168.1.149
VIP2:192.168.1.150
Keepalived1:192.168.1.151
Keepalived2:192.168.1.152
WebServer1:192.168.1.201
WebServer2:192.168.1.202
2、服务器操作系统
所使用的操作系统均为CentOS release 6.6 (Final) x86_64,最小化安装。
3、网络拓扑图
二、配置Nginx代理服务器
此部分Node1与Node2的配置完全相同。
1,准备编译环境
# yum –y install gccgcc-c++ pcre-devel openssl openssl-devel wget
2,编译安装nginx
3,为nginx提供SysV init脚本:
# vi /etc/rc.d/init.d/nginx
添加如下内容
而后为此脚本赋予执行权限:
# chmod +x /etc/rc.d/init.d/nginx
添加至服务管理列表,并让其开机自动启动:
# chkconfig --add nginx
# chkconfig nginx on
4,配置Nginx代理
# cat nginx.conf
三、安装与配置keepalived
以上步骤在两台keepalived机器上都需要进行
下面分别是两节点的配置文件
节点一
节点二
为两节点添加nginx状态监控脚本,由于keepalived本身不能检测到nginx的存活状态,需要借助于第三方脚本来实现,下面是出自余洪春前辈的一个检测脚本,在这里借用一下。
# vim /home/nginx_chk.sh
# chmod +x /home/nginx_chk.sh
# chmod +x /home/nginx_chk.sh 后台执行该脚本 # nohup sh /home/nginx_chk.sh &
四、安装web server
这里为了测试我直接使用yum安装两台服务器上的nginx服务。
增加额外资源库
五、启动测试
首先测试两台WebServer的可用性
可以看到两台WebServer都运行正常
查看两台keepalived节点的IP情况
使用两个VIP进行访问
停掉一台keepalived服务,查看IP
可以看到VIP已经成功流转到另一节点上,再使用VIP进行访问,依然可以正常访问。
这时重新启动节点一上的keepalived服务,可以看到属于节点一的VIP又重新回到了节点一上。
基本配置到这里就完成了。(文/loveganen 51CTO博客)