keepAlived+Nginx 高可用性(非抢占)负载均衡

来源:互联网 发布:金太阳教育软件 编辑:程序博客网 时间:2024/06/05 01:11

前言

一直以来都想自己来做一个完整的应用,从网络架构到技术架构,最近一段时间觉得生活不能再穷困了,于是,趁现在还有时间,决定自己来搭一个完整的项目。千里之行,始于足下。

很多东西都是从这个地方学习到的,放上地址以表尊重
http://blog.csdn.net/yinwenjie/article/details/46605451

正题

- 负载均衡设计

Nginx+keepAlived方案:负载层(还有各层)引入热备方案,以保证一个节点在崩溃的情况下,另一个节点能够自动接替其工作,为工程师解决问题赢得时间

这里写图片描述

准备工作

1.首先准备两台虚拟机ubantu64 我是用virtualbox开的两台虚拟机
2.安装nginx(两台都要)
3.安装keepalived
4.另外需要安装的 rsyslog(系统日志) vim(用不惯vi)
5.编写配置文件,我这里就直接贴图了,keepalived.conf 放到/etc/keepalived 文件夹 (以一台虚拟机上的为例)
这里写图片描述
这里要说明的是weight -2 是因为有两台keepalived服务,如果有三台就-3总之当keepalived关闭之后,不会出现weight相同的情况,这里nopreempt是设置非抢占式,不用设置MASTER 全部变成BACKUP 自动以priority来判断谁为MASTER
注意:{ 前面一定留一个空格
check_nginx.sh 文件 放到 /etc/keepalived 文件夹
这里写图片描述
注意:一点要注意空格,关键字前面一定要有空格,check_nginx.sh 文件可以用sh 命令来看一下有没有报错。
6.设置ip 这里设置ip直接用virtualbox的网络设置,将网络设置为“仅主机host网络” 需要注意的是如果设置为这个选项的话,进入ubantu之后是不能再用apt-get命令来下载软件了,所以在所有软件安装之后再来设置这个ip。
7.查看本机的ip ifconfig命令,然后修改配置文件里自己的网卡ip信息,以及vip信息,这里需要注意的是主从vip三个ip需要时同一个网段的。
8.启动keepalived service keepalived start 启动之后可以 ip addr 查看vip是否绑定到priority 高的网卡
9.然后测试。
这里写图片描述
然后停掉nginxA 上的keepalived : service keepalived stop
访问:
这里写图片描述
再开启nginxA上的keepalived服务,会发现没有切回到nginxA上去,因为是非抢占式的。