本文采用haproxy-1.5.11.tar为例


安装:

tar zcvf haproxy-1.3.20.tar.gz
# cd haproxy-1.3.20
# make TARGET=linux26 PREFIX=/usr/local/haproxy                                             
#将haproxy安装到/usr/local/haproxy
# make install PREFIX=/usr/local/haproxy


配置:

2.配置

安装完毕后,进入安装目录配置文件,默认情况下目录里是没有.cfg配置文件的,可以回到安装文件目录下将examples下的haproxy.cfg拷贝到usr/local/haproxy下。

# cd /usr/local/haproxy
# vi haproxy.cfg

默认文件内容如下:

根据实际需求,更改配置文件,我的配置如下

global           #全局设置
       log 127.0.0.1   local0      #日志输出配置,所有日志都记录在本机,通过local0输出
       #log loghost    local0 info
       maxconn 4096            最大连接数
       chroot /usr/local/haproxy
       uid 99                   #所属运行的用户uid
       gid 99                   #所属运行的用户组
       daemon                   #以后台形式运行haproxy
       nbproc 2                 #启动2个haproxy实例
       pidfile /usr/local/haproxy/haproxy.pid  #将所有进程写入pid文件
       #debug
       #quiet

defaults             #默认设置
       #log    global
       log     127.0.0.1       local3         #日志文件的输出定向
       mode    http         #所处理的类别,默认采用http模式,可配置成tcp作4层消息转发
       option  httplog       #日志类别,采用httplog
       option  dontlognull  
       option  forwardfor   #如果后端服务器需要获得客户端真实ip需要配置的参数,可以从Http Header中获得客户端ip
       option  httpclose    #每次请求完毕后主动关闭http通道,haproxy不支持keep-alive,只能模拟这种模式的实现
       retries 3           #3次连接失败就认为服务器不可用,主要通过后面的check检查
#当serverid对应的服务器挂掉后,强制定向到其他健康服务器
       maxconn 2000                     #最大连接数
stats   uri     /haproxy-admin  #haproxy 监控页面的访问地址
       contimeout      5000            #连接超时时间
       clitimeout      50000           #客户端连接超时时间
       srvtimeout      50000           #服务器端连接超时时间

stats auth  Frank:Frank   #设置监控页面的用户和密码:Frank


stats hide-version         #隐藏统计页面的HAproxy版本信息

frontend http-in                        #前台
       bind *:80
       mode    http
       option  httplog
       log     global
#静态服务器池

backend htmpool                    #后台
       balance leastconn#负载均衡算法
       option  httpchk HEAD /index.htm HTTP/1.0       #健康检查
       server  web1 10.16.0.1x:8085 cookie 1 weight 5 check inter 2000 rise 2 fall 3
       server  web2 10.16.0.2x:8085 cookie 2 weight 3 check inter 2000 rise 2 fall 3

#cookie 1表示serverid为1,check inter 1500 是检测心跳频率

 #rise 2是2次正确认为服务器可用,fall 3是3次失败认为服务器不可用,weight代表权重

                                                                                             

(未完,待续。。。)

                                 



转载于:https://blog.51cto.com/xiaoxuesheng/1766342