码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2015-09-25 18:41:59      阅读:371      评论:0      收藏:0      [点我收藏+]

标签: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服务器的运行状态信息,可以根据用户访问的文件类型,分发用来的连接请求。

本文出自 “脚踏实地向前行” 博客,请务必保留此出处http://343614597.blog.51cto.com/7056394/1698299

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

标签:haproxy做lb负载均衡集群的搭建和配置   可以通过web页面监控web服务器的运行状态   可以实现不同页面类型访   

原文地址:http://343614597.blog.51cto.com/7056394/1698299

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!