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 [email protected](这为调度器IP),并根据调度算法为最少链接(使用在具有较长会话的场景);调度mysql时与上述ssh类似。



            

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

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

相关推荐

  • 【N25第一周作业】Linux上命令的使用格式和基础命令详解

    一、Linux上命令的使用格式 命令行提示符详解: 用户通过终端的命令行接口来控制操作系统,登陆后如下: [root@localhost ~]# root: 当前登录的用户 @:分隔符 localhost: 当前主机的主机名,非完整格式;此处的完整格式为:localhost.localdomain [root@localhost ~]#&…

    Linux干货 2016-12-03
  • LVM组件详解&创建实验流程

       前言:根据前面的学习我们知道,一个磁盘一旦分完区并且格式化后,其空间大小是没有办法进行调整了。因此推出了LVM(Logical Volume Manager)逻辑卷管理机制,LVM重点在于可以弹性的调整文件系统的容量!并非在于性能和数据保全方面,需要文件的读写性能或者数据的可靠性,需要用到RAID。而LVM可以整合多个物理…

    Linux干货 2016-08-30
  • KVM基本功能

    前言:本来想写出关于KVM的精品文章,然而学的时间不够长,理解也不够透彻。所以有关KVM的高级功能只能等下一次在写。本次只涉及到KVM的基础核心功能,平时经常会使用的功能.。 一、环境准备: 1、BIOS启用Virtualication。 2、在linux系统上查看系统是否支持硬件虚拟化。Intel系列CPU支持虚拟化标识为vmx,AMD系列CPU标识为sv…

    Linux干货 2015-10-27
  • N25-第一周作业

    一,描述计算机的组成及其功能。        计算机(Computer)是一种能够按照事先存储的程序,自动、高速地进行大量数值计算和各种信息处理的现代化智能电子设备。由硬件和软件所组成,两者是不可分割的。        计算机的组成分为控制…

    Linux干货 2016-12-03
  • Linux之bash shell脚本编程入门篇(一)

    什么是bash shell脚本编程? 答:Linux里面有多种shell,而CentOS和redhat的默认shell是bash shell。至于shell脚本,这个跟windows操作系统里面的批处理文件有点像(.bat的文件)。不知道大家还是否记得Linux的哲学思想吗?其中有那么两点点:由众多目的的单一应用程序组成:一个程序只做一件事,且做好;组合目的…

    Linux干货 2016-08-15
  • 软件包管理

    软件包的分类,主要有以下两大类    源码包    二进制包(rpm包,系统默认包) rpm包由Redhat公司提出,被众多linux发行版所采用。 优点:建立统一的数据库文件,详细记录软件包的安装、卸载等变化信息,能够自动的分析软件包依赖关系。 查询已安装的rpm软件信息: 格式:     rpm…

    Linux干货 2016-08-25