haproxy反代+varnish缓存+后端LAMP平台集群实现

简介:

  

haproxy服务器:

     第一台haproxy本机IP:

        eno16777736:192.168.72.2

        eno33554976:172.16.25.1

     第二台haproxy本机IP:

        eno16777736:192.168.72.3

        eno33554976:172.16.25.2

      keepalived高可用虚拟IP:

        eno16777736:192.168.72.20

        eno33554976:172.16.25.100

      keepalived配置:

      QQ截图20171211121121.jpg

      QQ截图20171211121151.jpg

      QQ截图20171211123101.jpg

     keepalived的配置项在这里就不再讲述了,前面都有讲过。主要就是对nginx的状态进行一个判断

     若nginx down掉了,则将权重值-10,MASTER降为BACKUP(抢占模式)。当MASTER中的nginx

     启动后,又会自动成为MASTER,虚拟IP就由MASTER掌控。


     haproxy反代配置:

     172.16.25.77为后端varnish的IP

     设置fontend接受所有80端口信息;

     直接转发到关于后端的varnish的backend var1,由varnish进行动静分离;

     设置haproxy stats,stats enable开启stats,并设置访问的uri,设置用户名,密码,避免其他用户访问;

     backend var1算法设置为一致性hash,基于uri的。并转发到varnish主机,若varnish有多台,直接增加server即可。

     QQ截图20171215175724.jpg

     

     varnish服务器:

         IP:172.16.25.77

         yum install -y varnish

         配置文件/etc/varnish/varnish.param:运行时参数的配置,如varnish线程池得多少,每个线程池的线程数目有多少等。

         配置文件/etc/varnish/default.vcl进行编辑:varnish运行的策略库,根据该策略库判断数据是否缓存等。

         前端nginx反代到后端时采用的是80端口,所以需要将varnish监听在80端口这样才能正确获取到前端请求。

         修改/etc/varnish/varnish.param

         将VARNISH_LISTEN_PORT修改为80端口,原来为6081,该端口为服务端口,6082为管理端口

         QQ截图20171211124100.jpg

        

         /etc/varnish/default.vcl配置:

         设置反代到后端的两个主机,可以进行健康状态监测,如

         probe = {

               url = /health.html

               timeout = 3s

               interval = 2s

               window = 5

               threahold = 3 (5次检测有三次成功则表示后端RS正常)

        }

         QQ截图20171211124742.jpg

         vcl_purge为缓存裁剪,对不需要的缓存进行删除,常用于缓存更新。

         vcl_recv为所有请求数据都必须经过的一个状态引擎的表示,在这里对数据进行静态分离,

         当请求的方法为dele,则表示对该资源进行裁剪,当请求的资源存在.php则表示该资源为

         动态资源,发往动态资源服务器web2,否则发往静态资源服务器web1.在这里可以对资

         源服务器进行扩展,若动静态资源服务器有多台,则可以设置vcl_init

         如

         vcl_init {

            new websrv = directors.backend_roundrobin();

            websrv.add_backend(webstat1);

            websrv.add_backend(webstat2);

         }

         将两台静态服务器 都添加至websrv中,类似于nginx中的upstream

         调用时使用set req.backend_hint = websrv.backend();即可。

         注意:在使用组调度方式时,需要在配置文件顶部添加

         QQ截图20171211130220.jpg

         QQ截图20171211125147.jpg

     启动varnish服务

     systemctl start varnish.service

     使用varnishadm加载default.vcl文件

     QQ截图20171211130629.jpg

   

  后端RS的LAMP配置在这里就不多说了;

    运行结果:

     访问/myhaproxy

     QQ截图20171215180225.jpg

    QQ截图20171215180246.jpg

     访问静态资源

     QQ截图20171211130750.jpg

     访问动态资源

      QQ截图20171211130822.jpg

       访问phpMyAdmin

       QQ截图20171211130929.jpg

        



本文转自 wujunqi1996 51CTO博客,原文链接:http://blog.51cto.com/12480612/2051134
相关文章
|
1月前
|
存储 缓存 NoSQL
后端开发中的缓存策略:提升应用性能的关键
后端开发中的缓存策略:提升应用性能的关键
22 0
|
22天前
|
缓存 运维 编译器
LAMP+Varnish缓存详解(二)——单网站缓存
LAMP+Varnish缓存详解(二)——单网站缓存
9 0
|
22天前
|
存储 缓存 运维
LAMP+Varnish缓存详解(一)——Varnish简介
LAMP+Varnish缓存详解(一)——Varnish简介
16 0
|
1月前
|
存储 NoSQL Redis
陌陌技术分享:陌陌IM在后端KV缓存架构上的技术实践
在本文中,陌陌数据库负责人冀浩东将聚焦探讨陌陌的 KV 系统架构选型思路,深入解析如何进行此类系统的甄选决策,同时进一步分享陌陌团队在采用 OceanBase(OBKV)过程中所经历的探索与实践经验。
31 0
|
2月前
|
缓存 NoSQL Go
从2开始,在Go语言后端业务系统中引入缓存
从2开始,在Go语言后端业务系统中引入缓存
29 0
|
4月前
|
缓存 NoSQL Java
Redis专题(持续更新) 03-VIP-Redis缓存高可用集群
这篇文章主要介绍了Redis缓存高可用集群的搭建和原理分析,包括Redis集群方案比较、高可用集群搭建步骤、Java操作Redis集群以及Redis集群的工作原理等内容。文章详细介绍了如何搭建Redis集群、Java操作Redis集群的代码示例以及Redis集群的选举原理、数据丢失问题以及对批量操作命令的支持等内容。此外,还介绍了哨兵leader选举流程。整体来说,本文对Redis缓存高可用集群的构建和使用进行了系统性的阐述,是一篇关于Redis集群实践经验的指南。
|
4月前
|
运维 API 语音技术
Python智能语音识别语翻译平台|项目后端搭建
Python程序设计基础,第三方库Django、requests、hashlib、pyttsx3等的使用,百度API语音识别业务接口、文本朗读业务接口、翻译业务接口的传入。
114 0
Python智能语音识别语翻译平台|项目后端搭建
|
5月前
|
缓存 Ubuntu Linux
百度搜索:蓝易云【Varnish开源HTTP反向代理缓存服务器、部署安装、测试】
通过按照上述步骤部署和配置Varnish,您可以将其作为反向代理缓存服务器来提高Web应用程序的性能和响应速度。记住,在实际部署中,您可能需要进一步调整Varnish的配置以满足您的具体需求。
45 2
|
5月前
|
缓存 Linux 开发者
百度搜索:蓝易云【Varnish开源HTTP反向代理缓存服务器、部署安装、测试。】
通过以上步骤,你可以成功部署和安装Varnish,并对Web应用程序进行测试。请根据具体需求进行适当的配置和调整,以确保Varnish能够按预期工作并提升Web应用程序的性能。
33 0
|
9月前
|
缓存 NoSQL 安全
缓存杂谈(六) Redis的高并发及主从集群入门
Redis的高并发及主从集群入门
66 0
缓存杂谈(六) Redis的高并发及主从集群入门