1.下载安装
选择需要安装的版本
2.# make TARGET=linux26 PREFIX=/usr/local/haproxy install
TARGET 指定当前内核版本
3.生成HAproxy配置文件
# cd /usr/local/haproxy/
# mkdir conf logs
# cd conf/
# vim haproxy.cfg
######## 全局配置信息 #########
######参数是进程级的,通常和操作系统相关#######
global
log 127.0.0.1 local3 info #日志服务器 把日志发送给那台服务器,并定义级别类型
maxconn 4096 #最大连接数 ABCD四台服务器的总连接数
uid nobody #用户身份
gid nobody #组身份
daemon #守护进程方式后台运行
nbproc 1 #工作进程数量 启动程序的时候,后台生成的进程数
####### 默认设置 ###################
#####这些参数是配置 frontend,backend,listen 组的 ###########
defaults
log global ### 说明跟全局设置的日志一样
mode http #工作 http ,tcp 是 4 层,http是 7 层 ##指定
maxconn 2048 #最大连接数 AB一组服务器的连接数
retries 3 #3 次连接失败就认为服务器不可用
option redispatch #如果 cookie 写入了 serverId 而客户端不会刷新 cookie,当serverId 对应的服务器挂掉后,强制定向到其他健康的服务器
# 客户端访问webA之后,有ID缓存,当客户端再次访问时,直接访问webA;当webA坏掉以后,客户端还会拿着原来的ID直接访问webA,但是尝试3次之后,会强制将访问webB
stats uri /haproxy #使用浏览器访问 可以看到服务器HA的状态
contimeout 5000 # 单位:毫秒 连接超时
clitimeout 50000 # 客户端50s没反映断开
srvtimeout 50000 # 服务器没反映断开
#frontend(前台) http-in(自定义)
frontend http-in
#bind 0.0.0.0:80(绑定的是所有的80端口)
bind 0.0.0.0:80
mode http ##7层
log global #全局日志
option httplog #日志类别 http 日志格式
option httpclose #打开支持主动关闭功能
acl php url_reg -i \.php$ #acl
<类型> <大小写> <规则>
acl html url_reg -i \.html$ #use_backend <服务器组> if
use_backend php-server if php # 如果匹配php使用php-server主页
use_backend html-server if html
default_backend html-server #默认使用的服务器组
#backend(后台) php-server(后台名称,自定义)
backend php-server
mode http # 声明7层工作
balance roundrobin #负载均衡的方式
option httpchk GET /index.php #健康检查 找服务器要主页,给,说明服务器正常,不给,不正常
cookie SERVERID insert indirect nocache #客户端的 cookie 信息 把serverid插入到cookie中.本地不需要缓存
#server php-A(服务器名称,自定义) 192.168.20.1810:80 weight(权重) 1 cookie 1(标记ID为1) check inter 2000(间隔2000毫秒检查一次) rise 2(连续2次检查) fall 5(连续5次检查说明出问题)
server php-A 192.168.20.181:80 weight 1 cookie 1 check inter 2000 rise 2 fall 5
#cookie 1 标识 serverid 为 1
#check inter 2000 检测心跳频率
#rise 2 2 次正确认为服务器可用
#fall 5 5 次失败认为服务器不可用
backend html-server
mode http
balance roundrobin
option httpchk GET /index.html
cookie SERVERID insert indirect nocache
server php-B 192.168.20.182:80 weight 1 cookie 2 check inter 2000 rise 2 fall 5
4.启动HAproxy
[root@localhost conf]# /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg
5.查看HAproxy状态
[root@localhost conf]# firefox />
6.在客户端访问 HAproxy 测试
/>
/>
结果就出来了
阅读(1013) | 评论(0) | 转发(0) |