本人系统RedHat6.4 ,HAPROXY版本为haproxy-1.3.15.10.tar.gz
安装
安装PCRE
�C [root@svr1~]# yum -y install pcre pcre-devel
解压并进入haproxy目录
�C [root@svr1~]# tar xvzf haproxy-1.4.24.tar.gz
�C [root@svr1~]# cd haproxy-1.4.24
查看内核版本号
�C [root@svr1~]# uname -r
安装
�C [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安装目录下
�C [root@svr1~]# mkdir /usr/local/haproxy/conf
�C [root@svr1~]# cp examples/haproxy.cfg \
> /usr/local/haproxy/conf/haproxy.cfg
3、配置文件
(1)说明
HAProxy配置参数来源
�C 命令行。总是具有最高优先级
�C global部分。全局设置进程级别参数
�C 代理声明部分。来自于default、listen、frontend和backend
配置文件可由如下部分构成:
�C default
为后续的其他部分设置缺省参数
缺省参数可以被后续部分重置
�C frontend
描述接收客户端侦听套接字(socket)集
�C backend
描述转发链接的服务器集
�C listen
把frontend和backend结合到一起的完整声明
(2)示例
global //全局设置
log 127.0.0.1 local0 //日志输出配置
maxconn 4096 //最大连接数 并发链接
chroot /usr/local/haproxy
uid 99 //所属运行的用户uid
gid 99 //所属运行的用户组
daemon //以后台形式运行 守护进程
nbproc 2 //启动2个haproxy实例 和cpu个数有关
pidfile /usr/local/haproxy/run/haproxy.pid run的创建
defaults //默认设置
log global
mode http //默认采用http模式 3种:http 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、控制服务器状态
启动服务
�C [root@svr1~]# haproxy -f \
> /usr/local/haproxy/conf/haproxy.cfg
停止服务
�C [root@svr1~]# killall haproxy
重启服务
�C [root@svr1~]# haproxy -f haproxy.cfg \
> -st `pidof haproxy` 得到pid重启
5、监控HAProxy状态
http://192.168.194.10/haproxy-admin