Chinaunix首页 | 论坛 | 博客
  • 博客访问: 8780
  • 博文数量: 2
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 20
  • 用 户 组: 普通用户
  • 注册时间: 2015-07-21 17:20
个人简介

事在人为

文章分类
文章存档

2015年(2)

我的朋友

分类: 系统运维

2015-08-11 08:30:34

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 测试
/> />
结果就出来了

阅读(970) | 评论(0) | 转发(0) |
0

上一篇:Ubuntu 12.04.3 LTS 上安装salt-minion

下一篇:没有了

给主人留下些什么吧!~~