• Linux:haproxy部署--搭建nginx集群


    Haproxy介绍

    Haproxy是一个开源的高性能的反向代理或者说是负载均衡服务软件之一,它支持双机热备、虚拟主机、基于TCP和HTTP应用代理等功能。
    其配置简单,而且拥有很好的对服务器节点的健康检查功能(相当于keepalived健康检查),当其代理的后端服务器出现故障时,
    Haproxy会自动的将该故障服务器摘除,当服务器的故障恢复后Haproxy还会自动将RS服务器添加

    Haproxy特别使用与那些访问量很大。但又需要会话保持或七层应用的业务。Haproxy运行在普通的服务器硬件上,仅仅进行简单的优化就可以支持数以万计的并发连接。
    并且它的运行模式使得它可以很简单安全的整合到各种网站的架构中,同时使得应用服务器不会暴露到网络中。
    Haproxy软件引入了frontend,backend的功能,frontend(acl规则匹配)可以运维管理人员根据任意HTTP请求头做规则匹配,
    然后把请求定向到相关的backend(server pools等待前端把请求转过来的服务器组)。通过frontend和backup,
    我们可以很容易的实现haproxy的7层代理功能,haproxy是一款不可多得的优秀代理服务软件 

    Haproxy支持两种主要代理模式:第一个是4层tcp代理(例如:可用于邮件服务内部协议通信服务器、Mysql服务等)。
    第二个是7层代理(如HTTP代理)。在4层tcp代理模式下,Haproxy仅在客户端和服务器之间双向转发流量。
    但是在7层模式下Haproxy会分析应用层协议,并且能通过运行、拒绝、交换、增加、修改或者删除请求(request)或者回应(reponse)里指定内容来控制协议。 


     环境介绍 

    一台centos7作为nginx服务器 192.168.254.1

    一台centos7作为nginx服务器 192.168.254.2

    一台centos7作为haproxy服务器 192.168.254.3   为两个nginx服务器去实现负载均衡


    haproxy部署 

    搭建nginx(两台服务器操作一样) 

     nginx:下载icon-default.png?t=N7T8https://nginx.org/en/download.html

    去链接即可下载tar.gz归档包

     

    放进Linux里

    yum -y install pcre-devel zlib-devel gcc make
    tar xfv nginx-*.tar.gz -C /usr/src/
    cd /usr/src/nginx-*
    useradd -M -s /sbin/nologin nginx
    ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx &&make &&make install
    1. echo "

      server 192.168.254.1

      "
      >/usr/local/nginx/html/index.html
    2. 如果是web2 改为192.168.254.2区分开
    3. echo "

      server 192.168.254.2

      "
      >/usr/local/nginx/html/index.html
    /usr/local/nginx/sbin/nginx   

    开启

    killall -9 nginx

    关闭

    现在两台nginx服务器就全搭建完了


    搭建haproxy

    HAProxy - The Reliable, High Perf. TCP/HTTP Load Balancericon-default.png?t=N7T8https://www.haproxy.org/

    我们这里选1.几的版本 

     

     

    yum -y install pcre-devel bzip2-devel gcc-c++
    tar xf haproxy-*.tar.gz -C /usr/src/
    cd /usr/src/haproxy-*
    make TARGET=linux26
    make install
    mkdir /etc/haproxy
    
    1. vim /etc/haproxy/haproxy.cfg
    2. 写入
    3. global
    4. log /dev/log local0 info
    5. log /dev/log local1 notice
    6. maxconn 4096
    7. uid 99
    8. gid 99
    9. daemon
    10. defaults
    11. log global
    12. mode http
    13. option httplog
    14. option dontlognull
    15. retries 3
    16. maxconn 2000
    17. contimeout 5000
    18. clitimeout 50000
    19. srvtimeout 50000
    20. listen webcluster 0.0.0.0:80
    21. option httpchk GET /index.html
    22. balance roundrobin
    23. server inst1 192.168.254.1:80 check inter 2000 fall 3
    24. server inst2 192.168.254.2:80 check inter 2000 fall 3
    cp /usr/src/haproxy-*/examples/haproxy.init /etc/init.d/haproxy
    chmod +x /etc/init.d/haproxy
    
    ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy
    /etc/init.d/haproxy start

    开启 

    /etc/init.d/haproxy restart

    重启

    /etc/init.d/haproxy stop

    关闭

     

    刷新一下就可以看到流量怎么被均匀分配了 

  • 相关阅读:
    Java基础动态初始化二维数组
    MySQL-8.0 事务隔离级别
    Cesium实现动态旋转四棱锥(2023.9.11)
    聚观早报 | 爱奇艺2023年Q4财报;苹果将加大AI投入
    mac flutter 配置
    大数据随记 —— DataFrame 与 RDD 之间的相互转换
    Xmake v2.7.3 发布,包组件和 C++ 模块增量构建支持
    如何使用智能家居改造一个满意舒适的宿舍
    定时器方案之红黑树与最小堆、时间轮详解
    从0开始做公众号|零基础如何运营一个公众号?
  • 原文地址:https://blog.csdn.net/w14768855/article/details/132992392