haproxy 动静分离负载均衡、​stats页面实现​。

实验环境:一台主机提供haproxy、nfs、mariadb,后端2台apache部署wordpress

实验目的:haproxy使得动静分离、以及开启stats页面。

haproxy简单介绍

负载均衡的解决方案,支持4、7层,特点是单进程模型(可配置为多进程模型)单进程能支持非常大的并发链接数量(相比较其他软件)。

到今天,马哥课程中的负载均衡方案(lvs、nginx、proxy)已经讲完了,就来简单介绍下自己理解的区别吧,作为一个新手,说错了不要打我啊haproxy 动静分离负载均衡、​stats页面实现​。(相信很多同学和我一样也有这种纠结)

lvs如果在http反代的环境中由于本身工作在四层,无法再分配策略上进行详细调整(最直观的就是动静分离),后端服务器的健康状态检测(虽然也可以利用ldirector和keepalived弥补,但自身缺陷),只能单存的把自定义的ip或端口,按照规则分发至后端主机,因此他可以实现所有应用的负载均衡。(haproxy和nginx1.10的版本已经稳定支持4层负载均衡,但因为本身工作在内核中,我们应该相信在较高并发下,lvs的能力依然比haproxy和nginx强大),另外对网络环境的依赖较大。

haproxy和nginx两样及其相似,自己也曾在网上看了很多篇关于他们两差别的,但有几点也许是因为年代关系还是什么,指出一下错误:

1、haproxy弥补了session保持,nginx同样也支持session保持。

2、haproxy支持四层反代,nginx同样支持四层反代。

3、nginx不支持url做健康状态检测, 其实是支持。

4、haproxy不支持虚拟主机,没搞懂网上指的一个负载均衡要虚拟主机拿来干嘛,我猜也许想用自身做sorryserver,通过errorfile是能做成sorryserver的。


自己认为他们的区别,nginx可以做静态资源的缓存,而haproxy有一个状态的查询页,可以直观的看到后端服务器状况。


说了那么多,还是来做今天的实验吧,haproxy已经被收录在了base源中,插入光盘自己yum安装即可,安装完后配置文件/etc/haproxy/haproxy.cfg

haproxy 动静分离负载均衡、​stats页面实现​。

haproxy 动静分离负载均衡、​stats页面实现​。

给我们的示例配置文件中,一共分为了4端,分别是全局配置段,和proxy配置段,在全局配置中主要定义的是日志、启动haproxy的身份,启动模式、最大并发链接…等等

在proxy配置段又分为了default、frontend、backend三段,在一些指令上如果后两段没有特殊定义就会继承默认配置段,不是所有配置段都可以使用相同的指令,详情查看官方文档

http://cbonte.github.io/haproxy-dconv/1.6/configuration.html#4

haproxy 动静分离负载均衡、​stats页面实现​。

这里是我开启的状态页分别是:

bind:可以理解为监听的ip和端口

stats enable:开启stats页

stats uri:访问stats的url

stats realm:需要认证时,认证框里面的提示信息

stats auth:认证的账号和密码 (账号:密码)

stats refresh:打开页面后每秒刷新间隔

stats admin:是否开启管理功能

haproxy 动静分离负载均衡、​stats页面实现​。

整体页面就是这样了~

接着我们就来配我们的动静分离吧~

haproxy 动静分离负载均衡、​stats页面实现​。

刚刚经过测试,发现不管是discuz还是wordpress,都不能直接尝试动静分离,至少在基于nfs共享上,实现不了,以哪个IP去创建的数据库,静态的图片就会在自动跳转到创建的IP上去加载。。。我也是醉了就换个简单的方法测试吧 以php结尾的发送给一个主机,其他未定义的发送给另一个主机。

然后在web的根目录上分别创建了index.html 和105上创建了index.php 

haproxy 动静分离负载均衡、​stats页面实现​。

haproxy 动静分离负载均衡、​stats页面实现​。

105的主机上创建的index.html是111,106上创建的是222,接着我们就可以打开网页测试了!!!!

haproxy 动静分离负载均衡、​stats页面实现​。haproxy 动静分离负载均衡、​stats页面实现​。

可以看到请求index.html确实是转发到了106上,请求index.php被转发到了105上!


原创文章,作者:N24_Ghost,如若转载,请注明出处:http://www.178linux.com/69275

(0)
N24_GhostN24_Ghost
上一篇 2017-02-18 14:14
下一篇 2017-02-18 17:17

相关推荐

  • 硬链接和软链接的区别

    硬链接和软链接的区别 1、概念 在linux中,链接可分为两种:一种为硬链接,另一种为软链接。硬链接:ln 源文件 目标文件软链接:ln -s(soft)源文件 目标文件 硬链接 硬链接是指通过索引节点inode来进行链接。linux系统中每个文件对应一个inode,并且允许多个文件名指向用一个inode。这种情况的文件就成为硬链接。它的作用之一就是允许一个…

    Linux干货 2017-07-23
  • linux的内建命令和外部命令

    摘要:    Linux命令有内部命令(内建命令)和外部命令之分,内部命令和外部命令功能基本相同,但是其工作机制相差很大。本文就内建命令和外部命令做一下介绍。 一、内部命令(内建命令)    内部命令,实际上是shell程序的一部分,其中包含的是一些比较简单的linux系统命令,这些命令由shell程序识别并在shel…

    Linux干货 2016-10-18
  • 马哥教育网络班21期+第13周课程练习

    1、建立samba共享,共享目录为/data,要求:(描述完整的过程) 1)共享名为shared,工作组为magedu; 2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名; 3)添加samba用户gentoo,centos和u…

    Linux干货 2016-10-24
  • NFS(Network File System)介绍与应用(双httpd + php-fpm + nfs + mysql 搭建discuz论坛)

    NFS相关介绍 一、NFS简介     1. NFS(Network File System): NFS是一个文件共享协议, 也是是在类Unix系统中在内核中实现的文件系统。      2. 起源: 最早是由SUN公司研发,非常古老,只是实现文件共享,安全控制方面比较简…

    Linux干货 2015-07-21
  • linux系统的路由功能

    1、概要    大家应该都明白,不同网段的报文包传播,是需要路由的转发转发功能的,那么,一个linux操作系统能不能充当路由器呢?下面不妨来验证一下。 2、网络拓扑 3、实现过程    <1>俩个centos6分别充当Router1和Router2。并添加足够的网卡。    <2&…

    Linux干货 2016-09-06
  • 运筹帷幄之中,决胜与千里之外!

           运筹帷幄之中,决胜与千里之外,决定改变一生。        自从2016年年后学校要求产参加毕业实习,但对linux一窍不通的我,阴差阳错的被一家网络公司给录取了。        安排在一家企业做驻场运维工程师,刚去驻场的时候并没有给我分配相应的工作只是给了一些关于数据库,网络,和系统的一些资料,要求进行自学。我想了想,就决定选择了系统进行了解…

    2018-03-26

评论列表(1条)

  • luoweiro
    luoweiro 2017-02-22 22:23

    作业完成的不错,对于多款负载均衡软件有对比,这部分很赞。