环境:CentOS 2.6.32版本64位操作系统
HAProxy下载链接:http://www.haproxy.org/
HAProxy1.6.7下载:http://www.haproxy.org/download/1.6/src/haproxy-1.6.7.tar.gz
一、安装
# tar zcvf haproxy-1.6.7.tar.gz
# cd haproxy-1.6.7
# make TARGET=linux26 PREFIX=/usr/local/haproxy #将haproxy安装到/usr/local/haproxy
# make install PREFIX=/usr/local/haproxy
二、配置
#cd /usr/local/haproxy/
#mkdir conf logs
#vim conf/haproxy.cfg
输入以下内容,建立一个能让haproxy跑起来的最基本的配置
<span style="font-family:SimSun;font-size:18px;"><strong></pre><pre name="code" class="html">global
log 127.0.0.1 local3
maxconn 4096
chroot /usr/local/haproxy
uid 1000
gid 1000
daemon
nbproc 1
pidfile /usr/local/haproxy/logs/haproxy.pid
defaults
log 127.0.0.1 local3
mode http
option httplog
option httpclose
option dontlognull
option forwardfor
option redispatch
retries 2
maxconn 2000
balance roundrobin
stats uri /haproxy-stats
timeout connect 5000
timeout client 50000
timeout server 50000
frontend web_proxy
mode http
bind 0.0.0.0:8080</strong></span>
启动:/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg访问自己的IP对应的路径:http://115.159.212.100:8080/haproxy-stats
三、HAProxy基于路径的转发
这里暂且不介绍haproxy的负载均衡功能,而主要使用它来做转发。
1.配置haproxy
使用haproxy的acl指定规则
在上面的配置文件追加:
使用acl指定,如果请求的url符合以下规则
acl xl_gm_dev url_beg /xlgmdev
acl xl_gm_test url_beg /xlgmtest
acl xl_gm_ol path_beg /xlgmol
则将使用如下名称段配置的后端
use_backend xlgmdevpools if xl_gm_dev
use_backend xlgmtestpools if xl_gm_test
use_backend xlgmolpools if xl_gm_ol
后端的配置
<span style="font-family:SimSun;font-size:18px;"><strong>backend xlgmdevpools
balance roundrobin
cookie SERVERID insert indirect nocache
server inst1 10.147.16.104:8081 cookie server01 check inter 2000 fall 3
backend xlgmtestpools
balance roundrobin
cookie SERVERID insert indirect nocache
server inst2 10.147.16.104:8082 cookie server02 check inter 2000 fall 3
backend xlgmolpools
balance roundrobin
cookie SERVERID insert indirect nocache
server inst3 10.147.16.104:8083 cookie server03 check inter 2000 fall 3</strong></span>
如果需要增加新的应用,按如上配置增加即可。
由于我只需要一个应用,因此只配置一个。
2:配置resin
配置过程略,启动了1个resin,占用8081端口,重启haproxy
killall haproxy
/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg访问 http://115.159.212.100:8080/haproxy-stats
以上转发功能配置完毕。