haproxy+keepalived实现高可用负载均衡(实例配置)

2019-10-15 10:25:51刘景俊

作者:split_two

环境四台机器都是RedHat4.8(64位)版本:

IP地址             用处
192.168.5.55       MASTER
192.168.2.73       BACKUP
192.168.5.54       负载A
192.168.5.57       负载B
192.168.2.100      VIP

1、MASTER上安装haproxy

wget http://haproxy.1wt.eu/download/1.3/src/haproxy-1.3.20.tar.gz /root

解压到当前目录
tar zxvf haproxy-1.3.20.tar.gz
进到此目录
cd haproxy-1.3.20
编译及安装,安装到/usr/local目录,但是安装完此目录下没有haproxy文件夹,我也很奇怪!
make TARGET=linux26 prefix=/usr/local/haproxy install
但是出来的结果会提示如下信息

install -d /usr/local/sbin
install haproxy /usr/local/sbin
install -d /usr/local/share/man/man1
install -m 644 doc/haproxy.1 /usr/local/share/man/man1
install -d /usr/local/doc/haproxy
for x in configuration architecture haproxy-en haproxy-fr; do
        install -m 644 doc/$x.txt /usr/local/doc/haproxy ;
done

提示你启动haproxy在sbin目录,其余的在doc目录
进入到haproxy目录
cd /usr/local/doc/haproxy
新建一个haproxy主配置文件

vi haproxy.cfg
global
   log 127.0.0.1 local0
   maxconn 4096
   chroot /usr/local/doc/haproxy
   uid 501
   gid 501
   daemon
   nbproc 1
   pidfile /usr/local/doc/haproxy/haproxy.pid
defaults
   log    127.0.0.1  local3
   mode   http
   option httplog
   option httpclose
   option dontlognull
   option forwardfor
   option redispatch
   retries 2
   maxconn 2000
   balance roundrobin
   stats   uri    /haproxy-status    查看状态
   stats hide-version       隐藏haproxy版本
   stats realm Gemini Haproxy      查看状态需要口令
   stats auth admin:admin           用户名和密码
   contimeout  5000
   clitimeout  50000
   srvtimeout  50000
listen web_proxy 192.168.2.100:80
   server web1 192.168.5.54:8080 cookie app1inst1 check inter 2000 rise 2 fall 5
   server web2 192.168.5.57:8080 cookie app1inst2 check inter 2000 rise 2 fall 5

2、MASTER安装keepalived
tar zxvf keepalived-1.1.15.tar.gz
vi /usr/src/kernels/2.6.9-89.EL-smp-x86_64/include/linux/types.h
将如下两行注释掉,否则编译会出错,跟我这个版本的系统有关系,你的也许不要!