Haproxy做LB负载均衡集群的搭建和配置,可以通过web页面监控web服务器的运行状态

HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。

实验(一)

实验目的:使用Haproxy做负载均衡集群(七层)

实验环境准备:

客户端  IP地址:1.1.1.1 主机名waiwang

web1   IP地址:1.1.1.10 主机名:localhost

web2   IP地址:1.1.1.20 主机名:localhost

配置HAproxy服务器的IP地址:1.1.1.254 主机名:fanlj

实验所用软件包:haproxy-1.4.24.tar.gz

1.查看软件所依赖的软件有pcre pcre-devel是否安装。

2.解压软件包,并且安装 ,由于在解压的软件包中有makefile所以不需要配置和编译,直接安装 即可,TARGET指定内核的版本,USE_PCRE指定依赖的软件为PCRE,PREFIX指定软件安装的目录,创建conf文件夹用来存放配置文件,创建log文件夹用来存放 日志文件,复制源码包中的配置文件到创建的配置文件中。

3.修改主配置文件,用来做负载均衡集群。global为全局设置,defaults为默认设置,listen为指定虚拟服务的名称、IP地址和端口号,web-ser为自己定义的名字,后IP地址和80端口为使用那个IP地址(0.0.0.0为使用所有地址)和端口接收连接请求,balance指定分发的方式,roundrobin为轮询的方式,server后跟真正提供web访问的IP地址和端口,前面的关键字可以定义。

4.启动haproxy服务

启动服务时出现以上错误,解决的方案,提示21行关键字redispatch前要 加关键字 为option redispatch,修改后再次 启动。

再次启动服务时出现一下错误,启动配置文件时不能加载/usr/share/haproxy,修改 路径为/usr/local/haproxy,修改后再次启动服务。

5.启动成功后查看进程和端口,停止进程可以用杀进程的方式进行。

6.测试客户端,启动web1和web2上的网站服务,并且修改 默认的网页,web1的页面为1.1.1.10,web2的页面为1.1.1.20。

7.haproxy提供web页面的监控信息,并且可以监控其web页面是否down掉,stats uri /haproxy-admin为设置web页面监控,重新启动服务即可。

8.由于客户端没有安装桌面所以在haproxy服务上自己访问测试。

9.把web2上的页面down掉后查看是否监控。

总结:haproxy负载均衡集群可以通过web页面监控web服务器的运行状态信息。

配置文件参数的解释

global   //全局设置
log 127.0.0.1   local0    //日志输出配置
maxconn 4096     //最大连接数

chroot /usr/local/haproxy
uid 99         //所属运行的用户uid
gid 99                   //所属运行的用户组
daemon                //以后台形式运行
nbproc 2               //启动2个haproxy实例

pidfile /usr/local/haproxy/run/haproxy.pid
defaults   //默认设置
log    global

mode   http ?  //默认采用http模式
option   httplog //日志类别
retries 3 ??//3次连接失败认为服务器不可用
option redispatch //当serverid对应的服务器挂掉后,强制定向到其他健康服务器
stats  uri     /haproxy-admin   //设置监控

contimeout      5000    //连接超时时间
clitimeout      50000     //客户端连接超时时间

srvtimeout      50000    //服务器端连接超时时间

listen  web-ser 0.0.0.0:80   #

#cookie                      指定serverid的编号 自己定义

#check inter  2000    心跳检查的频率 2秒

#rise 2                       连续2次检查到心跳认为服务器可用
#fall 5                        连续5次检查不到心跳认为服务器不可用

实验(二)

实验目的:haproxy做LB负载均衡集群时,让一个客户端的多次访问请求都要haproxy分发给后端的同一台服务器(只适用与web 集群)。

实验环境:同上

1.修改主配置文件,cookie SERVERID insert indirect nocache为插入cookie信息nocache为不缓存。

2.重新启动服务

3.客户端进行测试只有http协议才携带cookie信息。

实验(三)

实验目的:haproxy实现LB负载均衡集群,根据用户访问的文件类型,分发用来的连接请求。

实验环境:

客户端 IP地址:1.1.1.1 主机名waiwang

web1  IP地址:1.1.1.10 主机名:localhost    提供网站服务.html结尾的网页

web2  IP地址:1.1.1.20 主机名:localhost   提供网站服务.html结尾的网页

web3  IP地址:1.1.1.30主机名:localhost   提供网站服务

.php结尾的网页

web4  IP地址:1.1.1.40主机名:localhost   提供网站服务

.php结尾的网页

配置HAproxy服务器的IP地址:1.1.1.254 主机名:fanlj

实验所用软件包:haproxy-1.4.24.tar.gz

实验要求:
当用户访问http://haproxy-ip    默认访问web1 或者web2的页面

当用户访问http:/haproxy-ip/.php时访问web3和web4的页面

当用户访问http://haproxy-ip/.html时访问web1和web2的页面

1.安装支持php的软件包

2.web1和web2的配置同上,配置web3和web4的页面。

3.修改 haproxy提供LB的负载均衡集群的配置文件,在源码包中examples目录下,frontend 定义服务的策略,backend 提供服务的服务器组 ,bind 0.0.0.0:80为本机的 所有端口监听访问80端口请求,mode http为七层模式,option httplog为使用全局日志记录配置,acl为匹配的策略,use_backend为访问的请求与acl匹配时请求分发给那个服务器组,default_backend人默认访问那个服务器组,backend为真正提供web服务的主机。

4.启动 haproxy服务

5.客户端测试

总结:haproxy负载均衡集群可以通过web页面监控web服务器的运行状态信息,可以根据用户访问的文件类型,分发用来的连接请求。

时间: 2024-10-22 11:48:34

Haproxy做LB负载均衡集群的搭建和配置,可以通过web页面监控web服务器的运行状态的相关文章

HAProxy高可用负载均衡集群部署

HAProxy高可用负载均衡集群部署 基本信息: 系统平台:VMware WorkStation 系统版本: CentOS Linux release 7.2.1511 (Core) 内核版本: 3.10.0-327.el7.x86_64 集群架构: 前端:HAProxy 1.虚拟FQDN:www.simpletime.net 2.VIP:192.168.39.1:DIP:172.16.39.50 3.调度服务器:Varnish1.Varnish2 4.调度算法:URL_Hash_Consist

centos LB负载均衡集群 第三十三节课

centos   LB负载均衡集群   第三十三节课 上半节课 下半节课 f

LB负载均衡集群

常用的负载均衡开源软件有: nginx.lvs.keepalived 商业的硬件负载设备: F5.Netscale 1. LB.LVS介绍:LB集群是load balance 集群的简写,翻译成中文就是负载均衡集群 LVS是一个实现负载均衡集群的开源软件项目 LVS架构从逻辑上可分为调度层(Director).server集群层(Real server)和共享存储层LVS可分为三种工作模式: NAT(调度器将请求的目标ip即vip地址改为Real server的ip, 返回的数据包也经过调度器,

LB负载均衡集群nginx(代理)

nginx负载均衡集群 实际上就是代理 环境说明: Nginx分发器:一个公网IP,一个内网IP RS1 只有一个内网ip RS2 只有内网ip #在nginx分发器上编辑文件 #nginx负载均衡有自动检测rs的机制,当rs有一台机器宕机,nginx就不会把请求发个给那台rs vim /usr/local/nginx/conf/vhosts/upstream.conf upstream aming {            # 引用upstream模块 aming别名 #      ip_ha

LB负载均衡集群 - NAT

前提: 客户机 : eth0   192.168.0.200       eth1  192.168.205.129 dir主机: eth0   192.168.0.166       eth1  192.168.205.128 rs1主机: eth0  192.168.0.207 rs2主机: eth0  192.168.0.208 rs1 和 rs2的网关是dir  192.168.0.166 常用的负载均衡开源软件有: nginx.lvs.keepalived 商业的硬件负载设备: F5.

LB负载均衡集群--LVS

LB集群: LB集群是load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有nginx.lvs.keepalived ,商业的硬件负载设备F5.Netscale. LB集群架构: 当用户的请求过来时,会直接发到分发器(Director Server)上,然后它把用户的请求根据预先设置好的算法,智能均衡地分发到后端的真正服务器(real server)上.如果不同的机器,可能用户请求到的数据不一样,为了避免这样的情况发生,所以用到了共享存储,这样保证所有用户请求

LVS负载均衡集群服务搭建详解(二)

lvs-nat模型构建 1.lvs-nat模型示意图 本次构建的lvs-nat模型的示意图如下,其中所有的服务器和测试客户端均使用VMware虚拟机模拟,所使用的CentOS 7 VS内核都支持ipvs功能,且安装ipvsadm控制书写lvs规则工具. RS端两台服务器为httpd服务器做请求的负载均衡. 注意: 1) 客户端可以使用Windows上的浏览器,会后缓存影响结果,所以采用CentOS上的curl命令请求http协议显示更加直观 2) DIP上不能配置iptables规则 2.VS网

LVS负载均衡集群服务搭建详解

一.LVS概述 1.LVS:Linux Virtual Server 四层交换(路由):根据请求报文的目标IP和目标PORT将其转发至后端主机集群中的某台服务器(根据调度算法): 不能够实现应用层的负载均衡 lvs(又称ipvs),基于内核中的netfilter实现: PREROUTING--> INPUT OUTPUT--> POSTROUTING PREROUTING--> FORWARD --> POSTROUTING 2.lvs集群术语: vs:Virtual  Serve

Nginx + Tomcat 负载均衡集群的搭建实例

操作系统: CentOS6.5   JDK软件版本:jdk1.7.0_65  Tomcat软件版本:apache-tomcat-7.0.54 案例环境:拓扑图和案例环境 一.在对应的服务器上分别安装Nginx和Tomcat 1.Nginx的安装方法大家可以参考:Nginx的源码安装 2.Tomcat的安装方法大家可以参考:Tomcat的安装与配置 注意:如果防火墙没有关闭的朋友,在安装完成之后,分别在对应的服务器上创建防火墙规则 Nginx服务器上防火墙规则 Tomcat服务器上防火墙规则 二.