首页 > 代码库 > HAPROXY实现web负责均衡配置

HAPROXY实现web负责均衡配置

本人系统RedHat6.4 ,HAPROXY版本为haproxy-1.3.15.10.tar.gz

安装

安装PCRE

       [root@svr1~]# yum -y install pcre pcre-devel

  解压并进入haproxy目录

       [root@svr1~]# tar xvzf haproxy-1.4.24.tar.gz

       [root@svr1~]# cd haproxy-1.4.24

 查看内核版本号

       [root@svr1~]# uname -r

安装

       [root@svr1~]# make TARGET=linux2628 \

   > USE_PCRE=1 PREFIX=/usr/local/haproxy install   USE_PCRE=1启用正则)

2

 建立haproxy的符号链接

  ln -s/usr/local/haproxy/sbin/haproxy \

/usr/local/sbin/

  拷贝安装源目录下的示例配置文件至haproxy安装目录下

       [root@svr1~]# mkdir /usr/local/haproxy/conf

       [root@svr1~]# cp examples/haproxy.cfg \

   > /usr/local/haproxy/conf/haproxy.cfg

3、配置文件

1)说明

         HAProxy配置参数来源

       命令行。总是具有最高优先级

       global部分。全局设置进程级别参数

       代理声明部分。来自于defaultlistenfrontendbackend

         配置文件可由如下部分构成:

       default

         为后续的其他部分设置缺省参数

         缺省参数可以被后续部分重置

       frontend

         描述接收客户端侦听套接字(socket)集

       backend

         描述转发链接的服务器集

       listen

         frontendbackend结合到一起的完整声明

2)示例

global   //全局设置

          log 127.0.0.1   local0    //日志输出配置

          maxconn 4096 //最大连接数   并发链接

          chroot /usr/local/haproxy

          uid 99                  //所属运行的用户uid

          gid 99                   //所属运行的用户组

          daemon                //以后台形式运行   守护进程

          nbproc 2               //启动2haproxy实例  cpu个数有关

          pidfile /usr/local/haproxy/run/haproxy.pid         run的创建

defaults             //默认设置

        log    global

        mode    http   //默认采用http模式   3http  tcp  health

         option  httplog      //日志类别

         retries 3   //3次连接失败认为服务器不可用

         option redispatch   //serverid对应的服务器挂掉后

                                             //强制定向到其他健康服务器

         stats   uri    /haproxy-admin  //设置监控   监控目录随便起名

         contimeout      5000   //连接超时时间

        clitimeout      50000    //客户端连接超时时间

        srvtimeout      50000   //服务器端连接超时时间

listen  websrv-rewrite 0.0.0.0:80  //监听的地址,可以写haproxy的地址,也可以写成0.0.0.0,监听本地全部地址

       cookie  SERVERID rewrite

       balance roundrobin   负载平衡的方式

       server  app1_1 192.168.20.101:80cookie app1inst1 check inter 2000 rise 2 fall 5 weight 1      realserver                        心跳检测频率:2000微秒      检测5次失败证明他挂啦

       server  app1_2 192.168.20.102:80cookie app1inst2 check inter 2000 rise 2 fall 5 weight 1

 //web服务器真实ip地址,并配置好web服务

 

4、控制服务器状态

         启动服务

       [root@svr1~]# haproxy -f \

   > /usr/local/haproxy/conf/haproxy.cfg

         停止服务

       [root@svr1~]# killall haproxy

         重启服务

       [root@svr1~]# haproxy -f haproxy.cfg \

   > -st `pidof haproxy` 得到pid重启

5、监控HAProxy状态

http://192.168.194.10/haproxy-admin

wKioL1Pc7V7Dh47RAATuf8ZRFAw841.jpg

 


本文出自 “linux菜鸟” 博客,请务必保留此出处http://ludihua.blog.51cto.com/4601284/1534290