haproxy+keepalived实战

环境:

master     192.168.76.3
backup192.168.76.4
vip192.168.76.123
www.zb.com192.168.76.5
static.zb.com

192.168.76.6

video.zb.com192.168.76.7

1.先给web服务器配置。

echo www.zb.com>/var/www/html/index.html

echo static.zb.com>/var/www/html/index.html

echo video.zb.com>/var/www/html/index.html

2.配置master的haproxy

安装haproxy,这里选择的yum安装 yum install haproxy -y

修改配置文件:

global                                  #全局配置
        log 127.0.0.1 local3 info       #日志
        maxconn 4096                    #最大连接
        uid nobody
        gid nobody
        daemon
        nbproc 1                        #处理进程数量
        pidfile /run/haproxy.pid

defaults                                #默认配置
        log                global       #按照全局配置
        mode       http                 #类型
        maxconn 2048                    #最大连接数
        retries         3               #尝试三次健康检查
        option  redispatch              #重新匹配
        #contimeout     5000            #连接sh计时器
        #clitimeout         50000       #
        #srvtimeout         50000
timeout connect 5000
timeout client 50000
timeout server 50000
    option abortonclose                 #关闭选项

    stats uri /admin?stats              #管理页面的配置格式
    stats realm Private lands           #进入管理页面验证
    stats auth admin:password           #密码
    stats hide-version                  #隐藏版本号


frontend www                    #代理服务器前端
        bind *:80                       #绑定地址
        mode http
        log global
        option httplog
        option httpclose

     #acl html url_reg  -i  \.html$     #访问控制列表
     acl host_www hdr_dom(host)  -i www.zb.com
     acl host_static  hdr_dom(host)  -i static.zb.com
     acl host_video   hdr_dom(host)  -i video.zb.com

     #use_backend html-server if  html
        use_backend server_www if host_www
        use_backend server_static if host_static
        use_backend server_video if host_video

        #default_backend html-server

#backend html-server                    #后端服务器
#       mode http
#       balance roundrobin
#       option httpchk GET /index.html
#       cookie SERVERID insert indirect nocache
#       server  html-A 192.168.76.5:80 weight 1 cookie 3 check inter 2000 rise 2 fall 5
#       server  html-B 192.168.76.6:80 weight 1 cookie 4 check inter 2000 rise 2 fall 5

backend server_www
        mode    http
        option  redispatch
        option  abortonclose
        balance roundrobin
        option  httpchk GET /index.html
        server webapp1 192.168.76.5:80  weight 1 cookie 3 check inter 2000 rise 2 fall 5


 backend server_static
          mode    http
          option  redispatch
          option  abortonclose
          balance roundrobin
          option  httpchk GET /index.html
          server webapp1 192.168.76.6:80  weight 1 cookie 3 check inter 2000 rise 2 fall 5

 backend server_video
          mode    http
          option  redispatch
          option  abortonclose
          balance roundrobin
          option  httpchk GET /index.html
          server webapp1 192.168.76.7:80  weight 1 cookie 3 check inter 2000 rise 2 fall 5

启动服务,修改hosts文件:

 然后测试,安装elinks,yum install elinks -y

测试:  elinks --dump http:xxx.zb.com

backup的haproxy配置文件与master一样。

3.安装keepalived

yum install keepalived -y

修改配置文件master:

! Configuration File for keepalived
global_defs {
 router_id 1                            #设备在组中的标识,设置不一样即可
 }

#vrrp_script chk_nginx {                        #健康检查
# script "/etc/keepalived/check_nginx.sh"     #检查脚本
# interval 2                            #检查频率.秒
# weight -5                             #priority减5
# fall 3                                        #失败三次
# }

vrrp_instance VI_1 {               #VI_1。实例名两台路由器相同。同学们要注意区分。
    state MASTER                        #主或者从状态
    interface ens33                     #监控网卡
    mcast_src_ip 192.168.76.3          #心跳源IP
    virtual_router_id 55                #虚拟路由编号,主备要一致。同学们注意区分
    priority 100                        #优先级
    advert_int 1                        #心跳间隔

    authentication {                    #秘钥认证(1-8位)
        auth_type PASS
        auth_pass 123456
    }

    virtual_ipaddress {                 #VIP
    192.168.76.123/24
        }

#  track_script {                       #引用脚本
#       chk_nginx
#    }

}

backup不同之处:

 4.测试

之前检测haproxy都配置成功,只需检测keepalived配置是否成功。

先停掉master网络连接。在backup上用ip a查看vip是否跳转到backup上,再开启master网络连接,看vip是否在master上。若在,就配置成功。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值