HAproxy簡單配置

介绍

TCP/HTTP反向代理,四层负载均衡,适合高可用环境。Linux6.4版本后haproxy已随base仓库收录进来。根据官方数据,其最高极限支持10G的并发;
HAproxy文档地址

  • 主程序:/usr/sbin/haproxy
  • 主配置文件:/etc/haproxy/haproxy.cfg
  • 启动文件:/usr/lib/systemd/system/haproxy.service
  • 安装:yum -y install haproxy调度器实现一个负载均衡,两台客户端安装httpd/nginx(实验环境注意关闭iptables/firewalld和selinux),并建议时间全部同步(chrony服务或直接ntpdate 172.18.0.1/172.16.0.1)
HAproxy簡單配置_第1张图片
  1. **配置haproxy配置文件,vim /etc/haproxy/haproxy.cfg (配置之前好习惯把配置文件备份),定义frontend前端和backend后端两个字段 **:
frontend  myweb *:80     (frontend后名字要唯一,绑定的地址和要监听的端口)
    default_backend     realserver   
backend realserver  (backend后端服务器名字也要唯一,并要和上面default_backend定义相同)
    balance     roundrobin        (调度算法,默认轮询)
    server      web1 172.18.250.238:80 check   (负载均衡web1,健康检查)
    server      web2 172.18.251.93:80 check     (负载均衡web2,健康检查) 

随后启动haproxy服务,可用ss -tnlp查看80端口是否监听,然后访问调度器IP测试轮询后台web页面效果。

  1. 而且haproxy还有相关的统计接口(统计页):
backend realserver
    balance     roundrobin
    server      apache 172.18.250.238:80 check weight 2
    server      nginx 172.18.251.93:80 check weight 1
    stats enable  (启用统计页;基于默认的参数启用页面信息,通过访问此页面能显示华丽的web状态界面,uri:调度器IP/haproxy?stats),如:http://172.18.251.139/haproxy?stats 
    stats uri /du'web  (上述毕竟是默认uri页面信息,不安全,可以自己定义页面的uri)

测试图:


HAproxy簡單配置_第2张图片
stats realm "Laoduweb"  (定义认证时弹出对话框的说明信息)
stats auth wo:123   (定义web认证时用户名和密码) 
stats admin if TRUE   (启用stats page中的管理功能,即可对后端web软控制) 
stats hide-version  (隐藏页面版本信息)

前面提到定义frontend前端和backend后端两个字段,也可使用listen参数:前端fronted调用后端backend,后端也只供前端调用,一对一关系,例调度后台ssh服务端:

listen ssh 
    bind :22022  (自己定义端口)
    balance leastconn(调度算法为长连接)
    mode tcp (工作模式:tcp/http/healthy)
    server      ssh1 172.18.250.238:22 check
    server      ssh2 172.18.251.93:22 check

测试图:


用其他PC测试:ssh -p 22022 [email protected](这为调度器IP),并根据调度算法为最少链接(使用在具有较长会话的场景);调度mysql时与上述ssh类似。

你可能感兴趣的:(HAproxy簡單配置)