Keepalived+HAProxy完成集群配置

一.Haproxy配置(master)
1.haproxy安装
[root@master ~]# hostnamemaster.rhel.com
如果要永久写入,则要修改/etc/hosts与/etc/sysconfig/network文件
[root@master ~]# tar -zxvf haproxy-1.3.20.tar.gz
[root@master ~]# cd haproxy-1.3.20
[root@master haproxy-1.3.20]# uname -r
2.6.32-279.el6.x86_64      //这里要查看一下内核版本号,安装haproxy的时候,要指定正确版本号的
    [root@master haproxy-1.3.20]# vim Makefile       
      64 PREFIX = /usr/local修改为: 64PREFIX = /usr/local/haproxy
因为解压之后的文件是经过编译过的,有人直接在安装的时候使用—prefix=指明安装路径,我做了几次,发现是不能名成功的,所以要想把安装文件放在一个目录下,只能修改Makefile文件
      [root@master haproxy-1.3.20]# make TARGET=linux26  //对应上面的内核版本
      [root@master haproxy-1.3.20]# make install
      [root@master haproxy-1.3.20]# mkdir /usr/local/haproxy/etc  //创建配置文件目录
      [root@master haproxy-1.3.20]# cp -p examples/haproxy.cfg/usr/local/haproxy/etc/    //haproxy源码下有提供配置文件模板,我们只需要copy过去,修改即可
2.配置部分
[root@master etc]# vim haproxy.cfg
global
      log 127.0.0.1  local0
      log 127.0.0.1  local1 notice
      #log loghost    local0 info
      maxconn 4096
      chroot /usr/share/haproxy
      uid 99
      gid 99
      daemon                //配置haproxy进入后台运行模式
      nbproc 2                //创建2个进程进入deamon模式运行
      pidfile /usr/local/haproxy/haproxy.pid
      #debug
      #quiet


defaults
      log    global
      mode  http      //默认模式mode
      option httplog
      option dontlognull  //自动结束完成的链接
      retries 3
      option redispatch      //当serverid对应的服务器挂掉后,强制定向到其他健康的服务器
      maxconn 2000
      contimeout      5000
      clitimeout      50000
      srvtimeout      50000


listen  0.0.0.0:10001
      cookie SERVERID rewrite
      balanceroundrobin
#      balance source                //最好使用这个,可以保证同一台客户机,固定访问一台服务器
      stats uri /haproxy_stats        //访问统计页面的url
      stats realm user \ passwd        //统计页面密码框提示文本
      stats auth haproxy:haproxy      //统计页面用户名与密码
      stats hide-version              //隐藏haproxy版本信息
      server webapp1 192.168.1.13:80 cookie webapp1 check inter 2000 rise 2 fall
      server  webapp2 192.168.1.14:80 cookie webapp2 checkinter 2000 rise 2 fall 5
// 服务器定义,check inter 2000指检测心中频率,rise指3次正解认为服务器可用,fall 5指失败5次认为服务器不可用,也可设置权值weigth 数字
在配置之后,需要创建一个文件,与配置想对应
[root@master etc]# mkdir /usr/share/haproxy
3.日志配置
  [root@masteretc]# vim /etc/rsyslog.conf      //日志配置文件
添加此两行内容
local0.* /var/log/haproxy.log                //增加local0的日志文件,下同
local1.*/var/log/haproxy.log
        [root@master etc]# vim /etc/sysconfig/rsyslog
修改此行: SYSLOGD_OPTIONS="-r -m 0"
      [root@master etc]# service rsyslog restart      //重启日志进程
重启之后就可以看到/var/log/已经出现了haproxy.log这个文件
4.启动haproxy服务器
[root@master sbin]#./haproxy -f ../etc/haproxy.cfg
可以查看一下进程
[root@mastersbin]# netstat -tulpn | grep haproxy
tcp        0    0 0.0.0.0:10001  0.0.0.0:*  LISTEN    3451/./haproxy     
udp 0 00.0.0.0:49372 0.0.0.0:*                              3451/./haproxy     
[root@master sbin]#
即启动成功
5.开启路由转发功能
[root@master sbin]# echo"1">/proc/sys/net/ipv4/ip_forward

推荐阅读:

CentOS 5.5下LVS+Keepalived集群配置

Keepalived安装及详细配置文件说明

Haproxy + KeepAlived 实现WEB群集 on CentOS 6

Keepalived+Haproxy配置高可用负载均衡

Haproxy+Keepalived构建高可用负载均衡

二.Haproxy(backup)
Backup的安装与master的安装是一样的,我们只需要修改backup的主机名即可,这里不在赘述
三.配置服务器web1与web2
[root@localhost ~]# hostname web1.rhel.com      //如需要可配置成永久主机名
[root@web1 ~]# yum install httpd –y            //安装apache
root@web1~]# echo "web1.rhel.com">/var/www/html/index.html
[root@web1 ~]# service httpd start
Web2.rhel.com的配置基本一样,需要修改一下主机名,创建index.html网页时更改一下内容
[root@web2 ~]# echo"web2.rhel.com">/var/www/html/index.html
四.测试
我们可以测试haproxy是否成功
在地址栏中输入master/backup的ip地址(这里的master与backup是对keepalived高可用所说的,对haproxy负载均衡无关系)

Keepalived+HAProxy完成集群配置

点击刷新

Keepalived+HAProxy完成集群配置

因为我们采用的是轮询,所以会在两个服务器之间进行轮询查看.

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/324428c31d6fb29750a37463af22c7f8.html