引言
Nginx是一个高性能的代理服务器,单台Nginx容易出现单点故障,使用keepalived可以实现Nginx的故障转移,保证了网站的高可用性
一、使用Nginx+keepalived的两种方案
1、主从模式
使用一个VIP,前端有2台服务器,一主一从,正常情况下是主服务器提供服务只有当主服务器不能正常提供服务之后,从服务器才提供服务,此时总会有一台服务器是空闲状态。
2、双主模式
使用两个VIP,前段有2台服务器,互为主从,两台服务器同时工作,不存在资源浪费情况。同时在前段的DNS服务器对网站做多条A记录,实现了Nginx
的负载均衡,当一台服务器故障时候,资源会转移到另一台服务器,继续提供服务,在大型的网站中多数都使用此种架构。在此使用主主模式配置
Nginx+keepalived的高可用性。
二、准备实验环境
1、服务器IP地址规划
VIP:172.16.10.8
VIP:172.16.10.9
Keepalived1:172.16.10.1
Keepalived2:172.16.10.2
2、服务器操作系统
Keepalived1:Centos 6.4 x86_64
Keepalived2:Centos 6.4 x86_64
3、网络拓扑图
4、修改主机名以及hosts文件keepalived1
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
三、编译安装Nginx
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|
注意 在此只上传了keepalived1的代码,keepalived2也需要同样的操作
1、修改默认网页以方便后期测试
1 2 3 4 |
|
四、 安装与配置keepalived
1、安装keepalived
1 2 3 4 |
|
2、修改配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
|
3、编辑邮件通知脚本(notify8.sh notify9.sh)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
|
4、复制配置文件到keepalived2,并做修改.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
|
注释:此处使用本地的邮件服务器接受邮件,如果需要用其它邮件服务器请修改contact=‘[email protected]‘
5、启动keepalived服务
1 2 3 4 |
|
6、查看两个节点的vip是否启动正常
五、测试nginx+keepalived的高可用性
1、使用游览器访问测试
2、模拟节点出现故障,nginx服务器是否能自动转移
1 |
|
通过以上测试,节点出现故障的时候,服务可以自动转移到备用节点上
3、测试主节点服务down掉之后,备用节点服务是否能正常运行
1 2 |
|
通过以上测试,实现了Nginx的高可用性,但是,运维人员是否能第一时间得知服务器出现故障,这时候就需要查看邮件了
4、查看邮件是否收到信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
5、当nginx服务启动之后,主节点恢复
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
Nginx+keepalived的高可用负载均衡配置完成,本博客至此结束,如有任何疑问请留言!
- 本文固定链接: http://tshare365.com/archives/337.html
- 转载请注明: tshare365 2015年02月13日 于 Tshare365 发表