CentOS 5.8部署Nginx+Keepalived实现负载均衡

Movenow 2012-05-30

一.体系架构

在Keepalived + Nginx高可靠负载均衡架构中,keepalived负责实现High-availability (HA) 功能控制前端机VIP(虚拟网络地址),当有设备发生故障时,热备服务器可以瞬间将VIP自动切换过来,实际运行中体验只有2秒钟切换时间,DNS服务可以负责前端VIP的负载均衡。

二.简单原理

NGINX_MASTER、NGINX_BACKUP两台服务器均通过keepalived软件把eth0网卡绑上一个虚拟IP(VIP)地址192.168.0.56,此VIP当前由谁承载着服务就绑定在谁的eth0上,当NGINX_MASTER发生故障时,NGINX_BACKUP会通过/etc/keepalived/keepalived.conf文件中设置的心跳时间advert_int 1检查,无法获取NGINX_MASTER正常状态的话,NGINX_BACKUP会瞬间绑定VIP来接替nginx_master的工作,当NGINX_MASTER恢复后keepalived会通过priority参数判断优先权将虚拟VIP地址192.168.0.56重新绑定给NGINX_MASTER的eth0网卡。

使用此方案的优越性

1.实现了可弹性化的架构,在压力增大的时候可以临时添加web服务器添加到这个架构里面去;

2.upstream具有负载均衡能力,可以自动判断后端的机器,并且自动踢出不能正常提供服务的机器;

3.相对于lvs而言,正则分发和重定向更为灵活。而Keepalvied可保证单个nginx负载均衡器的有效性,避免单点故障;

4.用nginx做负载均衡,无需对后端的机器做任何改动。

三.系统环境

两台负载机器安装:CentOS5.8 +nginx+keepalived,分别命名为: NGINX_MASTER,NGINX_BACKUP。

两台WEB集群机器安装:windows server 2008 R2+IIS7,分别命名为: WEB_1,WEB_2。

NGINX_MASTER:

ip:192.168.0.69(主服务器)

子网掩码:255.255.255.0

默认网关:192.168.0.1

vip:192.168.0.56

LVS_DR_BACKUP:

ip:192.168.0.47(备服务器)

子网掩码:255.255.255.0

默认网关:192.168.0.1

vip:192.168.0.56

WEB_1:

ip:192.168.0.109

子网掩码:255.255.255.0

默认网关:192.168.0.1

WEB_2:

ip:192.168.0.115

子网掩码:255.255.255.0

默认网关:192.168.0.1

四、Nginx的安装配置

分别在NGINX_MASTER、NGINX_BACKUP两台服务器安装nginx

1、关闭SELinux

查看SELinux的状态

getenforce

如果是开启状态,则

vi /etc/selinux/config

#SELINUX=enforcing     #注释掉

#SELINUXTYPE=targeted  #注释掉

SELINUX=disabled  #增加

重启系统

reboot

2、开启防火墙80端口

vi /etc/sysconfig/iptables

添加一条规则

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

3、安装编译工具

yum update

yum install wget  make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel gd  kernel keyutils  patch perl mhash(哈稀函数库)

相关推荐