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
下一篇 2017-05-17

相关推荐

  • 谈shell命令的神奇组合以及对脚本的影响

    shell命令是我们与机器交互的基本沟通翻译官。我们要告诉计算机的很多事情都由它来翻译,而shell的神奇之处就在于支持命令联合使用,现在我就来讲讲基本的命令组合引用。1.管道应用:命令 | 命令  ,前面的命令的结果可以直接作为后面命令的输出,省却了一个变量做存储。2.文本段落提取;我们可以用 组合命令 通常为 cat 某文件 | (head -…

    Linux干货 2017-04-02
  • CentOS7系统用户空间管理进程systemd详解

    概述:     系统启动过程中,当内核启动完成,后加载根文件系统,后就绪的一些用户空间的服务的管理工作,就交由init进行启动和管理,在CentOS6之前的init的管理方式都类似,相关的内容我们在之前的文章中也做出过介绍。在CentOS7上,init变成了systemd,其管理方式也发生了重大的变化,本章就跟大家欧一…

    Linux干货 2016-09-21
  • Mysql cmake 编译安装、

    基于cmake的mysql安装 1.1 前言 从mysql5.5起,mysql源码安装的编译工具configure开始向cmake过渡。安装方式和之前的略有不同。在这里简单介绍总结下。 安装之前,检查下GNU make, GCC, Perl, libncurses5-dev,cmake-2.8.4是否都已经安装,如果没有安装,用yum install 安装补…

    Linux干货 2017-08-29
  • M22 用户、组学习总结

    Linux系统的登录方式是通过账号和密码。每一个登录账号都有一个主组可能有附加组。Linux内的文件和目录都有所有者和属组,只有相应权限的账户可以对其进行操作,下面我对用户权限相关内容进行了总结。   1、  用户ID,每个用户具有相应的ID号码,主要分为两类:系统ID和用户ID,在Centos6中系统ID为1-499,用户ID >…

    2017-02-22
  • 编译Bind和压力测试

    编译安装bind ·下载bind:     isc.org:          bind-9.8          bind-9.9   &…

    Linux干货 2016-09-25
  • Linux入门之常见文本处理工具

    Linux入门之常见文本处理工具 文本内容查看命令 cat   tac    rev  more  less   head   tail 普通文本查看 cat  tac  rev cat 命令 cat  [option]…

    Linux干货 2016-08-08