HAProxy+Keepalived实现Web服务器负载均衡
新媒体运营
qihang01
osyunwei,内容汪
0人收藏 1141次学习

说明

操作系统:CentOS 5.X 64位

Web服务器:192.168.21.127、192.168.21.128

站点:bbs.osyunwei.com和sns.osyunwei.com部署在两台Web服务器上

实现目的

增加两台服务器(主主模式),通过HAProxy+Keepalived实现Web服务器负载均衡

架构规划

HAProxy服务器:192.168.21.129、192.168.21.130

虚拟服务器(VIP):192.168.21.253、192.168.21.254

部署完成之后

1、VIP:192.168.21.253指向192.168.21.129;VIP:192.168.21.254指向192.168.21.130;

2、当192.168.21.129宕机时,VIP:192.168.21.253漂移到192.168.21.130上;

3、当192.168.21.130宕机时,VIP:192.168.21.254漂移到192.168.21.129上;

这样的主主模式好处是,两台服务器在提供服务的同时,又互为对方的备份服务器。

第一部分:在两台HAProxy服务器上分别操作

具体操作

第一部分:在两台HAProxy服务器上分别操作

一、关闭SElinux、配置防火墙

1、vi /etc/selinux/config

#SELINUX=enforcing #注释掉

#SELINUXTYPE=targeted #注释掉

SELINUX=disabled #增加

:wq!  #保存退出

setenforce 0 #使配置立即生效

2、vi /etc/sysconfig/iptables  #编辑

-A RH-Firewall-1-INPUT -d 224.0.0.18 -j ACCEPT  #允许组播地址通信

-A RH-Firewall-1-INPUT -p    vrrp    -j ACCEPT  #允许VRRP(虚拟路由器冗余协)通信

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT  #允许80端口通过防火墙

:wq! #保存退出

/etc/init.d/iptables restart #重启防火墙使配置生效

二、安装HAProxy

1、创建HAProxy运行账户和组

groupadd haproxy #添加haproxy组

useradd -g haproxy haproxy -s /bin/false #创建nginx运行账户haproxy并加入到haproxy组,不允许haproxy用户直接登录系统

2、安装编译工具

yum install  gcc gcc-c++ make openssl-devel kernel-devel

3、安装HAProxy

HAProxy下载地址:http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.24.tar.gz

上传haproxy-1.4.24.tar.gz到/usr/local/src目录中

cd /usr/local/src #进入软件包存放目录

tar zxvf haproxy-1.4.24.tar.gz #解压

cd  haproxy-1.4.24  #进入安装目录

make  TARGET=linux26 CPU=x86_64  PREFIX=/usr/local/haprpxy  #编译

make install PREFIX=/usr/local/haproxy  #安装

参数说明:

TARGET=linux26

#使用uname -r查看内核,如:2.6.18-371.el5,此时该参数就为linux26

#kernel 大于2.6.28的用:TARGET=linux2628

CPU=x86_64   #使用uname -r查看系统信息,如x86_64 x86_64 x86_64 GNU/Linux,此时该参数就为x86_64

PREFIX=/usr/local/haprpxy   #/usr/local/haprpxy为haprpxy安装路径

4、设置HAProxy

mkdir -p  /usr/local/haproxy/conf  #创建配置文件目录

mkdir -p /etc/haproxy  #创建配置文件目录

cp /usr/local/src/haproxy-1.4.24/examples/haproxy.cfg  /usr/local/haproxy/conf/haproxy.cfg  #拷贝配置模板文件

ln -s  /usr/local/haproxy/conf/haproxy.cfg   /etc/haproxy/haproxy.cfg  #添加配置文件软连接

cp -r  /usr/local/