当前位置:   article > 正文

Linux企业实战(三十九)——Haproxy(1)

Linux企业实战(三十九)——Haproxy(1)

Haproxy实现反向代理及负载均衡

1、Haproxy介绍

Haproxy是一个特别适用于高可用性环境的TCP/HTTP开源的反向代理和负载均衡软件。在七层负载均衡方面的功能很强大(支持cookie track, header rewrite等等),支持双机热备,支持虚拟主机,支持健康检查,同时还提供直观的监控页面,可以清晰的监控服务集群的运行状况。

2、Haproxy的配置

  • Haproxy的配通过程分为三个主要部分:

    • 命令行参数,这是最优先的;
    • global (全局)段,设置进程级参数;
    • 代理配置段,通常位于default,listen,backend这样的形式内。
      配置文件的语法是由关键字后跟可选的一个或者多个参数(参数之间有空格)组成。如果字符串中包含空格,必须用\进行转义。
  • Haproxy配置段中分五大部分:

    • global:全局参数配置,进程级的,用来控制Haproxy启动前的一些进程及系统设置;

    • defaults:配置些默认的参数,可以被frontend,backend, listen段集成使用;

    • frontend :用来匹配接收客户所请求的域名、uri等,并针对不同的匹配做不同的请求处理;

    • backend:定义后端服务器集群,以及对后端服务器集群的一些权重、队列、连接数等选项的设置,类似于nginx中的upstream模块;

    • listen:可以理解为frontend和backend的组合体。Haproxy配置文件的配通方法主要有两种,一种是由前端(frontend )和后端( backend )配置块组成,前端和后端都可以有多个。第二种方法是只有一个listen配置块来同时实现前端和后端。最常用也是推荐的方法为第一种,即frontend和backend的模式。

3、实现反向代理及负载均衡

  • 实验环境:
主机作用
server1Haproxy
server2服务端
server3服务端
  • 步骤一:在server2和server3上安装httpd,并且写一个测试页
    在这里插入图片描述
    在这里插入图片描述

  • 步骤二:在server1上安装haproxy

yum install haproxy -y
vim /etc/haproxy/haproxy.cfg

listen admin *:8080
        stats enable
        stats uri /status                        #监控页面地址
        stats auth admin:westos                  #管理帐号和密码
        stats refresh 5s                         #刷新频率
  
listen westos *:80                               #监听的实例名称,地址和端口
        balance roundrobin                       #负载均衡算法
        server web1 192.168.0.102:80 check       #后端
        server web2 192.168.0.103:80 check

systemctl start haproxy
netstat -antlp
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

在这里插入图片描述
在这里插入图片描述

  • 步骤四:测试,在浏览器中输入 192.168.0.101:8080/status,在classroom这台主机中使用curl 192.168.0.101
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

关闭server2的httpd,然后再进行上面的测试
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/303190
推荐阅读
相关标签
  

闽ICP备14008679号