• 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

    修改配置文件:

    1. global #全局配置
    2. log 127.0.0.1 local3 info #日志
    3. maxconn 4096 #最大连接
    4. uid nobody
    5. gid nobody
    6. daemon
    7. nbproc 1 #处理进程数量
    8. pidfile /run/haproxy.pid
    9. defaults #默认配置
    10. log global #按照全局配置
    11. mode http #类型
    12. maxconn 2048 #最大连接数
    13. retries 3 #尝试三次健康检查
    14. option redispatch #重新匹配
    15. #contimeout 5000 #连接sh计时器
    16. #clitimeout 50000 #
    17. #srvtimeout 50000
    18. timeout connect 5000
    19. timeout client 50000
    20. timeout server 50000
    21. option abortonclose #关闭选项
    22. stats uri /admin?stats #管理页面的配置格式
    23. stats realm Private lands #进入管理页面验证
    24. stats auth admin:password #密码
    25. stats hide-version #隐藏版本号
    26. frontend www #代理服务器前端
    27. bind *:80 #绑定地址
    28. mode http
    29. log global
    30. option httplog
    31. option httpclose
    32. #acl html url_reg -i \.html$ #访问控制列表
    33. acl host_www hdr_dom(host) -i www.zb.com
    34. acl host_static hdr_dom(host) -i static.zb.com
    35. acl host_video hdr_dom(host) -i video.zb.com
    36. #use_backend html-server if html
    37. use_backend server_www if host_www
    38. use_backend server_static if host_static
    39. use_backend server_video if host_video
    40. #default_backend html-server
    41. #backend html-server #后端服务器
    42. # mode http
    43. # balance roundrobin
    44. # option httpchk GET /index.html
    45. # cookie SERVERID insert indirect nocache
    46. # server html-A 192.168.76.5:80 weight 1 cookie 3 check inter 2000 rise 2 fall 5
    47. # server html-B 192.168.76.6:80 weight 1 cookie 4 check inter 2000 rise 2 fall 5
    48. backend server_www
    49. mode http
    50. option redispatch
    51. option abortonclose
    52. balance roundrobin
    53. option httpchk GET /index.html
    54. server webapp1 192.168.76.5:80 weight 1 cookie 3 check inter 2000 rise 2 fall 5
    55. backend server_static
    56. mode http
    57. option redispatch
    58. option abortonclose
    59. balance roundrobin
    60. option httpchk GET /index.html
    61. server webapp1 192.168.76.6:80 weight 1 cookie 3 check inter 2000 rise 2 fall 5
    62. backend server_video
    63. mode http
    64. option redispatch
    65. option abortonclose
    66. balance roundrobin
    67. option httpchk GET /index.html
    68. 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:

    1. ! Configuration File for keepalived
    2. global_defs {
    3. router_id 1 #设备在组中的标识,设置不一样即可
    4. }
    5. #vrrp_script chk_nginx { #健康检查
    6. # script "/etc/keepalived/check_nginx.sh" #检查脚本
    7. # interval 2 #检查频率.秒
    8. # weight -5 #priority减5
    9. # fall 3 #失败三次
    10. # }
    11. vrrp_instance VI_1 { #VI_1。实例名两台路由器相同。同学们要注意区分。
    12. state MASTER #主或者从状态
    13. interface ens33 #监控网卡
    14. mcast_src_ip 192.168.76.3 #心跳源IP
    15. virtual_router_id 55 #虚拟路由编号,主备要一致。同学们注意区分
    16. priority 100 #优先级
    17. advert_int 1 #心跳间隔
    18. authentication { #秘钥认证(1-8位)
    19. auth_type PASS
    20. auth_pass 123456
    21. }
    22. virtual_ipaddress { #VIP
    23. 192.168.76.123/24
    24. }
    25. # track_script { #引用脚本
    26. # chk_nginx
    27. # }
    28. }

    backup不同之处:

     4.测试

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

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

  • 相关阅读:
    Mybatis集成日志组件,logback日志框架
    Transformer在小目标检测上的应用
    vue init webpack xxx报错timeout
    基于Java+SpringBoot+Vue的在线音乐网站设计和实现
    MySQL修改表名:重命名RENAME
    OpenCV6-图形绘制
    【每日一题】中缀表达式计算详解(基本计算器 II,表达式计算4)
    git基础
    纯前端播放文件流视频并预览并截取视频第一帧
    嵌入式单片机及外设(硬件)知识基础三
  • 原文地址:https://blog.csdn.net/leaarning/article/details/127641707