RHEL6配置HAProxy负载平衡集群

配置HAProxy负载平衡集群


实验拓扑图



操作流程

       Real Server :     192.168.4.53 pc53         192.168.4.54 pc54

配置WEB 服务器

HAProxy调度器  :         192.168.4.50 pc50

安装并启用HAProxy

修改配置文件配置负载平衡

Clinet :192.168.4.253 pc253

        连接测试        


具体步骤

环境准备

配置yum源

# service iptables stop            //关闭防火墙

# chkconfig iptables off            //关闭开机自启

# setenforce 0                            //设置SELinux 为宽松模式

配置WEB服务器  pc53 / pc54

#yum -y install httpd  php  > /dev/null

#service httpd start  > /dev/null

#chkconfig httpd on

[[email protected] ~] #echo " <?php echo 'web53' ; ?>  " > /var/www/html/test.php

[[email protected] ~] #echo " <?php echo 'web54' ; ?>  " > /var/www/html/test.php

配置HAProxy分发器  pc50

    安装并启动HAProxy

# mount /dev/cdrom /mnt/

RHEL6 光盘文件的LoadBalancer目录中含有HAProxy的RPM包

在已有的yum源配置文件 上添加如下

[LoadBalancer]

name=LoadBalancer

baseurl=file:///mnt/LoadBalancer

gpgcheck=0

# yum -y install haproxy

# rpm -qa haproxy

haproxy-1.5.4-2.el6.x86_64

# rpm -qc haproxy

/etc/haproxy/haproxy.cfg        //haproxy配置文件

/etc/logrotate.d/haproxy

/etc/sysconfig/haproxy

# cp /etc/haproxy/haproxy.cfg /root/   //备份haproxy配置文件

# chkconfig haproxy on//设置开机自启

# chkconfig --list haproxy

haproxy        0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭

修改HAProxy配置文件 进行配置

HAProxy配置文件 说明

— 命令行:总是具有最高优先级

— global 部分:全局设置进程级别参数

— 代理声明部分

来自于 default, listen, frontend 和 backend

— default 为后续的其他部分设置缺省参数,缺省参数可以被后续部分重置

— frontend 描述接受客户端侦听套接字(socket)集

— backend 描述转发链接的服务器集

— listen 把frontend 和 backend 结合到一起的完整声明

不做业务区分  修改配置文件如下

# vim /etc/haproxy/haproxy.cfg

    global
    log         127.0.0.1 local2            

    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid        //haproxy的pid存放路径
    maxconn     4000                     //最大连级数 默认4000
    user        haproxy
    group       haproxy
    daemon                               // 创建1个进程进程入deamon模式运行

    # turn on stats unix socket
    stats socket /var/lib/haproxy/stats

defaults
    mode                    http            #默认的模式 mode{tcp|http|health}
    log                     global            # 采用全局定义的日志
    option                  httplog           # 日志类别http日志格式
    option                  dontlognull        #不记录健康检查的日志信息
    option http-server-close
    option forwardfor       except 127.0.0.0/8  #后端服务器可以从Http Header中获得客户端IP
    option                  redispatch        #serverid 服务器挂掉后强制指定向到其他健康服务器
    retries                 3           #3次连接失败就认为u服务不可用,也可以通过后面设置
    timeout http-request    10s
    timeout queue           1m
    timeout connect         10s        #如果backend 没有指示,默认为10s
    timeout client          1m         #客户端连接超时
    timeout server          1m        #服务器连接超时
    timeout http-keep-alive 10s
    timeout check           10s
    maxconn                 3000        #最大连接数
    stats uri /admin                //定义监控页面 uri

listen weblb 0.0.0.0:80
    cookie SERVERID rewrite
    balance roundrobin
    server weba 192.168.4.53:80 cookie app1inst1 check inter 2000 rise 2 fall 5
    server webb 192.168.4.54:80 cookie app1inst2 check inter 2000 rise 2 fall 5

# service haproxy start     //启动服务

# netstat -pantu | grep :80

tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      3192/haproxy

客户端访问

# elinks --dump 192.168.4.50/test.php

web53

# elinks --dump 192.168.4.50/test.php

web54

# elinks --dump 192.168.4.50/test.php

web53

# elinks --dump 192.168.4.50/test.php

web54

# elinks --dump 192.168.4.50/test.php

web53

# elinks --dump 192.168.4.50/test.php

web54

# firefox 192.168.4.50/admin          //查看监控页面




部署基于业务区分HAProxy负载平衡集群


实验拓扑图

操作流程

       Real Server :

配置WEB 服务器  使用HTML网页文件       192.168.4.51 pc51         192.168.4.52 pc52

使用php 网页文件           192.168.4.53  pc53        192.168.4.54  pc54

HAProxy调度器  :         192.168.4.50 pc50

安装并启用HAProxy

修改配置文件配置负载平衡

Clinet :192.168.4.253 pc253

        连接测试        


具体步骤

环境准备

配置yum源

# service iptables stop            //关闭防火墙

# chkconfig iptables off            //关闭开机自启

# setenforce 0                            //设置SELinux 为宽松模式

配置web服务端 pc 51    pc 52    pc 53    pc54    

部署基本的httpd 服务

# yum -y install httpd

在pc 53 和 pc 54 上下载 php 软件包

#yum -y install  php

#service httpd start

#chkconfig httpd on

# cd /var/www/html/

[[email protected] html]# echo 192.168.4.51 > index.html

[[email protected] html]# echo 192.168.4.52 > index.html

[[email protected] html]# echo '<?php echo "192.168.4.53";?>'  > test.php

[[email protected] html]# echo '<?php echo "192.168.4.54";?>'  > test.php

配置HAProxy分发器  pc50

    安装并启动HAProxy

# mount /dev/cdrom /mnt/

RHEL6 光盘文件的LoadBalancer目录中含有HAProxy的RPM包

在已有的yum源配置文件 上添加如下

[LoadBalancer]

name=LoadBalancer

baseurl=file:///mnt/LoadBalancer

gpgcheck=0

# yum -y install haproxy

# rpm -qa haproxy

haproxy-1.5.4-2.el6.x86_64

# rpm -qc haproxy

/etc/haproxy/haproxy.cfg        //haproxy配置文件

/etc/logrotate.d/haproxy

/etc/sysconfig/haproxy

# cp /etc/haproxy/haproxy.cfg /root/   //备份haproxy配置文件

# chkconfig haproxy on//设置开机自启

# chkconfig --list haproxy

haproxy        0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭

基于业务区分 修改配置文件

# cd /etc/haproxy/

修改配置文件

# vim haproxy.cfg

global
    log         127.0.0.1 local2

    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    maxconn     4000
    user        haproxy
    group       haproxy
    daemon

    # turn on stats unix socket
    stats socket /var/lib/haproxy/stats

defaults
    mode                    http
    log                     global
    option                  httplog
    option                  dontlognull
    option http-server-close
    option forwardfor       except 127.0.0.0/8
    option                  redispatch
    retries                 3
    timeout http-request    10s
    timeout queue           1m
    timeout connect         10s
    timeout client          1m
    timeout server          1m
    timeout http-keep-alive 10s
    timeout check           10s
    maxconn                 3000
    stats uri /admin

frontend  weblb *:80
    acl urlhtml       path_end       -i .html            // acl 名字         匹配路径结尾   不区分大小写 .html
    acl urlphp       path_end       -i .php
    use_backend htmlgrp          if urlhtml             //如果接受到与urlhtml这个ACL 匹配时 去找htmlgrp 组
#   use_backend phpgrp          if urlphp
    default_backend            htmlgrp                 // 默认去找htmlgrp

backend htmlgrp
    balance     roundrobin
    server  web51 192.168.4.51:80 check               //check 后不写参数 默认用 defaults 定义的参数
    server  web52 192.168.4.52:80 check

backend phpgrp
    balance     roundrobin
    server  web53 192.168.4.53:80 check
    server  web52 192.168.4.54:80 check

客户端访问

# firefox 192.168.4.50/admin          //查看监控页面

//测试html

# elinks --dump 192.168.4.50

192.168.4.51

# elinks --dump 192.168.4.50

192.168.4.52

# elinks --dump 192.168.4.50

192.168.4.51

# elinks --dump 192.168.4.50

192.168.4.52

# firefox 192.168.4.50/admin          //查看监控页面

健康性检查

模拟 51 服务器 故障

[[email protected] ~]# service httpd stop

# elinks --dump 192.168.4.50

192.168.4.52

# elinks --dump 192.168.4.50

192.168.4.52

# elinks --dump 192.168.4.50

192.168.4.52

# firefox 192.168.4.50/admin          //查看监控页面

模拟 51 服务器 故障已经解决

[[email protected] ~]# service httpd start

# elinks --dump 192.168.4.50

192.168.4.52

# elinks --dump 192.168.4.50

192.168.4.51

# elinks --dump 192.168.4.50

192.168.4.52

# elinks --dump 192.168.4.50

192.168.4.51

# firefox 192.168.4.50/admin          //查看监控页面

//测试php

# elinks --dump 192.168.4.50/test.php

192.168.4.53

# elinks --dump 192.168.4.50/test.php

192.168.4.54

# elinks --dump 192.168.4.50/test.php

192.168.4.53

# elinks --dump 192.168.4.50/test.php

192.168.4.54

# firefox 192.168.4.50/admin          //查看监控页面






原文地址:http://blog.51cto.com/13558754/2060586

时间: 2024-08-03 21:53:04

RHEL6配置HAProxy负载平衡集群的相关文章

Cluster基础(三):配置HAProxy负载平衡集群、Keepalived高可用服务器、Keepalived+LVS服务器

一.配置HAProxy负载平衡集群 目标: 准备三台Linux服务器,两台做Web服务器,一台安装HAProxy,实现如下功能: 客户端访问HAProxy,HAProxy分发请求到后端Real Server 要求HAProxy可以根据Cookie为客户端分配固定后端服务器 开启HAProxy监控页面,及时查看调度器状态 设置HAProxy为开机启动 方案: 使用3台虚拟机,1台作为HAProxy调度器.2台作为Real Server.物理机作为客户端,拓扑结构如下图所示. 步骤: 你放假的撒 原

HAProxy负载平衡集群

配置HAProxy负载平衡集群 网络拓扑图 client:   172.16.0.10 haproxy:172.16.0.5 web1:    172.16.0.100 web2:    172.16.0.200 1.在调度器上面: 1.1安装软件包haproxy [[email protected] ~]# yum -y install gcc [[email protected] ~]# yum -y install pcrepcre-devel [[email protected] hap

动态网络负载平衡集群实践方法

1.引言 本质上讲,网络负载平衡是分布式作业调度系统的一种实现.平衡器作为网络请求分配的控制者,要根据集群节点的当前处理能力,采用集中或分布策略对网络服务请求进行调配,并且在每个服务请求的生命周期里监控各个节点的有效状态.一般的说,平衡器对请求的调度具备以下的特征: 网络服务请求必须是可管理的 请求的分配对用户是透明的 最好能够提供异构系统的支持 能够依据集群节点的资源情况进行动态分配和调整 负载平衡器在集群的各个服务节点中分配工作负载或网络流量.可以静态预先设置或根据当前的网络状态来决定负载分

LVS负载平衡集群(没成型)

LVS:可以实现高可用的.可伸缩的Web.Mail.Cache和Media等网络服务,实现一个可高用.高性能.低成本的服务器应用软件 LVS集群组成: 前端:负载均衡层 --由一台或多台负载调度器构成 中间:服务器群组成 --由一组实际运行应用服务的服务器组成 底层:数据共享存储层 --提供共享存储空间的存储区域 LVS术语: Director Server:即调度服务器,将负载分到Real Server的服务器 Reaal Server:真实服务器,真正提供应用服务的服务器 VIP:虚拟IP地

利用docker镜像配置mysql集群+nextcloud集群+haproxy负载均衡

测试环境: docker xampp 9.1.1 ubuntu 16.0.4 hadoop 2.7 jdk 1.8 一.配置mysql集群 通过docker拉取mysql集群镜像创建容器,包括ndb_mgm(管理节点).ndb_mgmd01.ndbd01(数据节点1).ndbd02(数据节点2).mysqld01(sql节点1).mysqld02(sql节点2) docker run -itd --name ndb_mgmd01 --net=scg --ip 192.166.0.2 -v /ro

Windows Server 2008R2 配置网络负载平衡(NLB)

目录 配置环境 安装 安装网络负载平衡 安装Web服务器 IIS 配置 测试 其它 配置环境 VMware:(版本10.0.01) 主集群IP:192.168.220.102 VM1:192.168.220.103 VM2:192.168.220.104 说明:环境原因,采用双节点配置记录配置过程 安装  在VM1和VM2打开服务管理器 安装网络负载平衡  功能--->右键--->添加功能--->勾选网络负载平衡-->一路下一步直到完成 安装Web服务器 IIS 角色--->

Mariadb Cluster+Haproxy+keepalived 集群的详细安装与配置

要点概括 1.关闭iptables 或者设置常用端口为accept(关闭省事) 2.修改/etc/hosts ,设置RSA互信,避免在传文件需要密码 3.使用mariadb或者其他版本的DB带有WSREP功能 4.修改配置文件,在原来初始化的基础上加上WSREP的参数 5.启动第一个节点 6.在第一节点设置其他2节点的连接用户名和密码和配置文件设置一致 7.初始化启动其他节点 8.集群负载均衡和单点故障使用haproxy+keepalived 9.Haproxy+cluster状态检测 10.h

HAProxy负载均衡原理及企业级实例部署haproxy集群

一 HAProxy简介   HAProxy是一种高效.可靠.免费的高可用及负载均衡解决方案,非常适合于高负载站点的七层数据请求.客户端通过HAProxy代理服务器获得站点页面,而代理服务器收到客户请求后根据负载均衡的规则将请求数据转发给后端真实服务器. 同一客户端访问服务器,HAProxy保持回话的三种方案: 1 HAProxy将客户端ip进行Hash计算并保存,由此确保相同IP访问时被转发到同一真实服务器上. 2 HAProxy依靠真实服务器发送给客户端的cookie信息进行回话保持. 3 H

HAProxy负载均衡与keepalived搭建高可用负载均衡web(Nginx/PHP/Tomcat)集群

HAProxy简介 HAProxy是基于TCP四层和HTTP七层的开源的第三方应用负载均衡软件.具有高可靠性.高稳定性.高并发处理能力.透明代理和支持ACL功能等特点.HAProxy是一个功能强大且优秀的负载均衡集群解决方案. HAProxy负载均衡算法 Haproxy的负载均衡算法在backend模块中通过balance命令来定义,常见的算法有: roundrobin: 轮叫调度算法,可以通过定义权值来分配后端服务器 static-rr : 静态的基于权重的轮叫调度算法 source: