步骤1,HAProxy简介
这部分略过,大家可以搜索下相关内容,中文的或英文的。
步骤 2 HAProxy的安装配置
在安装之前,首先确定一下结构。我在这次试验中用的是最最几本的一个结构,只是为了体验。
HAProxy节点:192.168.1.200
说明:我用了单节点是为了体验功能,应用到运营环境的话单节点这样的事情一定要避免。否则出现单点故障够大家喝一壶的。这里建议可以使用keepalived配置HAProxy的另一节点以作备份。
Web节点01:192.168.1.149
Web节点02:192.168.1.153
说明:我在web节点中yum安装的apache,其他啥都没干。
2.1 下载安装HAProxy:
登陆到haproxy机器上
2.2 创建配置文件
在配置文件中添加如下内容(http7层代理)
在配置文件中添加如下内容(tcp 4层代理)
global
maxconn 30720 #默认最大连接数
log 127.0.0.1 local3 #[err warning info debug]
chroot /var/haproxy #chroot运行的路径
uid 99
gid 99
daemon
nbproc 1 #进程数量(可以设置多个进程提高性能)
pidfile /var/run/haproxy.pid #haproxy的pid存放路径,启动进程的用户必须有权限访问此文件
ulimit-n 65535 #ulimit的数量限制
defaults
log global
mode tcp
balance leastconn #默认的负载均衡的方式,最小连接
retries 3
maxconn 30720
contimeout 5000
clitimeout 50000
srvtimeout 50000
listen check 0.0.0.0:10000
mode http
option httplog
stats uri /check-status
stats realm Haproxy statistics
stats auth admin:admin
capture request header Host len 40
capture request header Content-Length len 10
capture request header Referer len 200
capture response header Server len 40
capture response header Content-Length len 10
capture response header Cache-Control len 8
#frontend http-80-in
#bind *:80
#mode tcp #http的7层模式
#log global #应用全局的日志配置
#acl jt_s0_80 hdr_dom(host) -i s0.jt.yeyou.com
#frontend http-4949-in
#bind *:4949
#mode tcp
#log global
#acl jt_s0_4949 hdr_dom(host) -i s0.jt.yeyou.com
#frontend http-3749-in
#bind *:3749
#mode tcp
#log global
#acl jt_s0_3749 hdr_dom(host) -i s0.jt.yeyou.com
#
#frontend http-843-in
#bind *:843
#mode tcp
#log global
#acl jt_s0_843 hdr_dom(host) -i s0.jt.yeyou.com
#
#backend jt_s0_80
#mode tcp
#balance roundrobin
#server s0_gs_80 10.127.65.110:80 check inter 1500 rise 3 fall 3 weight 1
#
#backend jt_s0_4949
#mode tcp
#balance roundrobin
#server s0_gs_4949 10.127.65.110:4949 check inter 1500 rise 3 fall 3 weight 1
#
#backend jt_s0_3749
#mode tcp
#balance roundrobin
#server s0_gs_3749 10.127.65.110:3749 check inter 1500 rise 3 fall 3 weight 1
#
#
#backend jt_s0_843
#mode tcp
#balance roundrobin
#server s0_gs_843 10.127.65.110:843 check inter 1500 rise 3 fall 3 weight 1
#
#
listen http-80-in 0.0.0.0:80
mode tcp
acl jt_s0_80y hdr_dom(host) -i s0.jt.yeyou.com
balance roundrobin
server jt_s0_80 10.127.65.110:80 check inter 1500 rise 3 fall 3 weight 1
listen http-4949-in 0.0.0.0:4949
mode tcp
acl jt_s0_4949 hdr_dom(host) -i s0.jt.yeyou.com
balance roundrobin
server jt_s0_4949 10.127.65.110:4949 check inter 1500 rise 3 fall 3 weight 1
listen http-3749-in 0.0.0.0:3749
mode tcp
acl jt_s0_3749 hdr_dom(host) -i s0.jt.yeyou.com
balance roundrobin
server jt_s0_3749 10.127.65.110:3749 check inter 1500 rise 3 fall 3 weight 1
listen http-843-in 0.0.0.0:843
mode tcp
acl jt_s0_843 hdr_dom(host) -i s0.jt.yeyou.com
balance roundrobin
server jt_s0_843 10.127.65.110:843 check inter 1500 rise 3 fall 3 weight 1
2.3 启动haproxy进程 (更多启动参数可通过/usr/local/haproxy/haproxy -help 命令来查看)
2.4 查看状态监视页面