haproxy新手入门


项目地址

http://haproxy.1wt.eu/

PS:

    1.4.25的tar.gz下载后解压似乎有问题,改用了1.4.20


1.安装

解压之后可以读一下README,对所需的环境写的很详细


make TARGET=linux26     PREFIX=/xxxxx    # make 的时候必须制定当前系统内核版本,否则会有错误提示(注意大小写,下同)

make install PREFIX=/xxx                           #有点受不了,make 时候的指定对 install 无效,install 必须指定,否则会安装到默认路径 /usr/local/sbin 中


编辑配置文件haproxy.cfg (名字路径都不重要,因为使用时要指定文件)


haproxy的配置不太易懂,着重说明

----------------------------------------------------


global  
    maxconn 5120                    # 最大连接数  
    chroot /安装目录/haproxy  
    uid user_00  
    gid users  
    daemon                          # 使HAProxy进程进入后台运行。这是推荐的运行模式  
    quiet  
    nbproc  2                       # 通过nbproc多设置几个haproxy并发进程(必须使用daemon模式),这样每个进程的task_queue相对就会短很多,性能能提高不少  
    pidfile /var/run/haproxy.pid    # 将所有进程的pid写入文件 启动进程的用户必须有权限访问此文件  
     
defaults                            # 默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK  
    log     global  
    mode    http                    #http的7层模式  
    option  httplog  
    option  dontlognull  
    log 127.0.0.1 local3  
    retries 3                       #三次连接失败就认为是服务器不可用,也可以通过后面设置  
     
    option redispatch        #当serverId对应的服务器挂掉后,强制定向到其他健康的服务器  
                                    #可选项:abortonclose  
                                    #       当服务器负载很高的时候,自动结束掉当前队列处理比较久的链接  
    maxconn 2000     
    contimeout      5000  
    clitimeout      50000  
    srvtimeout      50000  
     
listen webfarm 0.0.0.0:80  
    mode http  
    stats uri /haproxy-stats                    # 监控haproxy状态  
    stats realm Haproxy\ statistics  
    stats auth netseek:52netseek                # 设置状态监控的用户名为netseek密码为52netseek  
    balance roundrobin                          # 负载均衡算法  
                                                # 可选项:source  
                                                #           根据客户端IP进行哈希的方式  
    cookie SERVERID insert indirect  
    option httpclose                            #  
    option forwardfor                           # apache日志转发功能  
    option httpchk HEAD /check.txt HTTP/1.0     # 心跳检测URL的设置  
 
# 可以根据机器的性能不同,不使用默认的连接数配置而使用自己的特殊的连接数配置  
# 如minconn 10 maxconn 20  
#   cookie 1表示serverid为1  
#   check inter 1500 是检测心跳频率  
#   rise 3是3次正确认为服务器可用  
#   fall 3是3次失败认为服务器不可用  
#   weight代表权重  
server app_bbs1 127.0.0.1:120001 cookie app1inst1 check inter 2000 rise 2 fall 5  
server app_bbs2 127.0.0.1:120002 cookie app1inst2 check inter 2000 rise 2 fall 5  
 
 
# 更详细的配置说明可参考   http://www.cnblogs.com/dkblog/archive/2012/03/13/2393321.html


----------------------------------------------------



----------------------------------------------------

简化版的配置

----------------------------------------------------


global  
        log 127.0.0.1   local0  
        log 127.0.0.1   local1 notice  
        #log loghost    local0 info  
        maxconn 4096  
        chroot /tmp/chric/haproxy  
        uid 99  
        gid 99  
        daemon  
        #debug  
        #quiet  
 
defaults  
        log     global  
        mode    http  
        option  httplog  
        option  dontlognull  
        retries 3  
        option redispatch  
        maxconn 2000  
        contimeout      5000  
        clitimeout      50000  
        srvtimeout      50000  
 
 
listen  appli3-relais 0.0.0.0:10003  
        dispatch 127.0.0.1:11211


listen  appli4-backup 0.0.0.0:10004

    balance roundrobin  
    server  inst1 127.0.0.1:12001 check inter 2000 fall 3  
    server  inst2 127.0.0.1:12002 check inter 2000 fall 3 backup



----------------------------------------------------



2.测试


用简化的haproxy配置,该配置可同时使用10003和10004端口,区别只是haproxy的处理策略不同


* 启动 haproxy

     ./haproxy -f ./haproxy.cfg


* 启动一个监听 11211 端口的server

     python -m SimpleHTTPServer 12001


* 访问 haproxy 端口

          curl   http://127.0.0.1:10003

   http状态返回200


* 直接访问server端口,比较用

          curl   http://127.0.0.1:12001

   http状态返回200,与访问haproxy效果相同


* 关闭server,再次访问 haproxy 端口

          curl    http://127.0.0.1:10003  

   返回 

          curl: (7) couldn't connect to host


* 关闭server,再次直接访问server端口,比较用

          curl    http://127.0.0.1:12001

   返回 

<html><body><h1>503 Service Unavailable</h1>

No server is available to handle this request.

</body></html>

     



转载于:https://my.oschina.net/kakablue/blog/187495

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值