HAproxy簡單配置

用途:TCP/HTTP反向代理,四层负载均衡,适合高可用环境。Linux6.4版本后haproxy已随base仓库收录进来。文档:http://cbonte.github.io/haproxy-dconv/
主程序:/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簡單配置

    配置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页面效果。

而且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簡單配置

    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
HAproxy簡單配置用其他PC测试:ssh -p 22022 root@172.18.251.139(这为调度器IP),并根据调度算法为最少链接(使用在具有较长会话的场景);调度mysql时与上述ssh类似。



            

原创文章,作者:杜少星,如若转载,请注明出处:http://www.178linux.com/75992

赞 (0)
杜少星杜少星
上一篇 2017-05-17 12:51
下一篇 2017-05-17 13:58

相关推荐

  • 详解LVM逻辑卷

       LVM逻辑卷管理 当os6中partprobe 命令不能同步分区完的分区信息,及用ll /dev/sd*、cat /proc/partation、lsblk看的设备分区内容和用fdisk -l 看到的信息不同步 所以用partx -a 设备名或者用partx -a –nr 分区号 设备名 其中表示n是设备名,r 是ran…

    Linux干货 2016-08-29
  • First Day

    learning

    2018-03-26
  • 十七周

    1、搭建一套LVS-DR模型的高性能集群,并实现以下功能:    (1)、wordpress程序通过nfs共享给各个realserver;    (2)、后端realserver中的nginx和php分离 Centos7系统 地址 安装程序 LVS主机 VIP:192.168.1.110 ipvsadm DIP:192…

    2017-08-17
  • Linux udev-ASM(基于oracle5.8)

    之前有客户有在Linux下使用udev来做ASM,操作系统版本为oracle5.8,实际跟rhel5.8差不多,当时只是做了简单记录,现在整理下来,与大家一起分享。 1)需求信息 磁盘分区操作 –省略– 分区后,使用parted让磁盘生效 需求: 将/dev/sdc1 <–>/dev/asm-disk1 将/d…

    Linux干货 2016-07-29
  • 马哥教育网络19期+第十五周课程练习

    1、总结sed和awk的详细用法;   a).sed命令 sed可以实现grep的大部分功能,而且还可以查找替换 [root@localhost ~]# sed '10'p -n 1.txt [root@localhost ~]# sed &#039…

    Linux干货 2016-08-22