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

相关推荐

  • 从案例出发——命令总结之find篇

    在这篇文章中你将看到以下内容:1、find命令的格式、语法、及实际应用 2、3个时间戳的意义  3、各种文件类型的解释  4、软硬链接的区别 5、exec和xargs的区别 6、几个逻辑判断符的意义  7、通配符的意义  8、find 命令下时间查找的特殊定义 首先,来看看以下题目:   &nbsp…

    Linux干货 2016-03-25
  • 文件系统

            文件系统表现为单个统一的层次结构:从目录/开始并通过若干数量的子目录继续向下扩展,/也叫做根目录。这种单一的层次系统和 Windows 的不一样,后者的分区有专门的名字空间。        &n…

    Linux干货 2016-02-28
  • Linux的用户组和权限(二)

      一、1.passwd 设置密码(类似usermod的用法)       passwd[OPTIONS] UserName:          修改指定用户的密码,仅root用户有权限       …

    Linux干货 2016-08-08
  • 启动和内核管理2

    五、自制linux系统     分区并创建文件系统         fdisk /dev/sdb         分两个必要的分区   &n…

    Linux干货 2016-09-18
  • 如何编译源码安装

    #include <stdio.h> main() {printf(“Hello World!\n”); } gcc -o hello hello.c 在编写hello.c的时候出现问题一直找不到,后来发现是因为我安装的gcc有问题 我在安装的时候是用rpm -ivh gcc –nodeps忽略依赖关系直接安装…

    2017-08-19
  • Linux 发展史

    Linux 发展史 一、Linux 系统概述     首先大家需要明白,Linux 只是内核,没有应用程序,如果想有应用程序就需要GNU 组织来提供应用程序,GNU其实就是一个开源组织,这就要说GNU 和GPL 的概念了,其实GNU可以看作就是软件行业的共产党组织 而GPL 就是共产党宣言 为全人类服务。所以说GNU 和 LIN…

    Linux干货 2016-10-19