阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

实现基于Keepalived+Haproxy+Varnish+LNMP企业级架构

427次阅读
没有评论

共计 2778 个字符,预计需要花费 7 分钟才能阅读完成。

一:环境介绍

1、操作系统

Web 网站基于 CentOS7 搭建的 LNMP 的电子商务网站,负载均衡器基于 CentOS6 的 Keepalived+Haproxy 的架构,缓存服务器是基于 CentOS7 的 Varnish 搭建的缓存服务。

2、服务安装

lnmp:

mariadb-server-5.5.52-1.el7.x86_64

nginx-1.10.2-1.el7.x86_64

php-fpm-5.4.16-42.el7.x86_64

php-mysql-5.4.16-42.el7.x86_64

keepalived+haproxy:

keepalived-1.2.13-5.el6_6.x86_64

haproxy-1.5.18-1.el6.x86_64

Varnish:

varnish-4.0.4-3.el7.x86_64

3. 实验环境

关闭 selinux, 关闭 iptables,时间同步

二:原理及拓扑图

1、浏览器缓存

第一种:首先会判断浏览器是否会有缓存,如果有缓存会判断是否过期,如果没有过期就会返回一个 200 的状态码,读取浏览器缓存。

第二种: 如果有缓存,并且已经过期,比如说刷新,就会查看 Etag 值是否发生改变,有 last-modified 是否发生了改变,如果没有改变就返回 304 的状态读取浏览器的缓存,如果都发生了改变,就返回 200 的状态,相当于去服务器拿取资源,跟强制刷新是一个概念。

第三种:强制刷新,直接返回 200 状态,去后端拿资源。

2、浏览器缓存拓扑图如下

实现基于 Keepalived+Haproxy+Varnish+LNMP 企业级架构

 

3、varnish 简介

Varnish 是一款高性能的开源 HTTP 加速器,版本之间的跨度较大,varnish 支持 VCL 的开发语言,较为复杂,采用了 ”Page Cache” 技术,所有缓存数据都直接从内存读取(映射),所以更加高速,掉电缓存就没有了。

4、Keepalived+Haproxy+Varnish+LNMP 架构图

实现基于 Keepalived+Haproxy+Varnish+LNMP 企业级架构

原理: 用户从外面访问内网的时候会首先经过调度器,然后再经过缓存服务器才能拿到想要访问的元数据,这个简单的架构的意就是通过 keepalived+haproxy 做一个高可用的负载均衡器,然后再通过 varnish 缓存服务器集群,查看是否有缓存的资源,如果有缓存就直接拿到资源返回,不再访问后端 server,如果没有缓存,就去后端拿资源,拿到资源后,会查看头部信息是否允许缓存,如果允许就缓存下来,然后就返回给用户。

三:配置文件

1、varnish 配置

主配置文件:default.vcl

实现基于 Keepalived+Haproxy+Varnish+LNMP 企业级架构

2、性能配置文件:/etc/varnish/varnish.params

1、RELOAD_VCL=1

设置为 1 表示当使用 systemctl reload varnish 时,会自动重新装载 vcl 的配置文件,也就是能够让新的配置生效

2、VARNISH_VCL_CONF=/etc/varnish/default.vcl

加载的缓存策略的配置文件路径

3、VARNISH_LISTEN_ADDRESS=

varnish 服务监听的地址,默认是监听在本机所有可用的地址上

4、VARNISH_LISTEN_PORT=6081

varnish 监听的端口,因为 varnish 要作为 web 服务器的反代进行工作时,才能将 http 的内容缓存,一般要将其改为 80 端口,但是实际生产环境中,varnish 一般是处于前端调度器的后面,所以可以在前端调度器上将调度的端口改为此处的端口也可以。

5、VARNISH_ADMIN_LISTEN_ADDRESS=127.0.0.1

varnish 管理接口监听的地址,监听在 127.0.0.1 表示只允许从本机登录进行管理

6、VARNISH_ADMIN_LISTEN_PORT=6082

varnish 管理接口监听的端口

7、VARNISH_SECRET_FILE=/etc/varnish/secret

varnish 管理时的秘钥文件

8、VARNISH_STORAGE=”file,/var/lib/varnish/varnish_storage.bin,1G”

varnish 缓存时,使用哪种存储方式对缓存内容进行存储,本处是指使用 file 文件方式,存在

/var/lib/varnish/varnish_storage.bin 文件中,总共使用 1G 大小的空间如果要使用内存缓存,则可以定义为:”malloc,400M” 在很多生产环境还是使用 file, 但是将文件放在固态硬盘,如果希望性能更好点,放在 PCI- E 的固态硬盘 fution-IO

9、VARNISH_TTL=120

如果后端服务器没有指明缓存内容的 TTL 时间,则 varnish 自身为缓存定义的 TTL 时间

10、VARNISH_USER=varnish

VARNISH_GROUP=varnish 管理时的秘钥文件

2、keepalived+haproxy 的配置

这个配置很简单,就不多说明了,可以参考 http://www.linuxidc.com/Linux/2017-11/149012.htm。

3lnmp 的配置文件

lnmp 的架构也很简单, 查看 http://www.linuxidc.com/Linux/2017-11/149011.htm

四:测试

vip 测试:

 

实现基于 Keepalived+Haproxy+Varnish+LNMP 企业级架构

 

 

缓存服务器访问:

 

实现基于 Keepalived+Haproxy+Varnish+LNMP 企业级架构

缓存服务器 Varnish 概念篇 http://www.linuxidc.com/Linux/2014-05/101389.htm

缓存服务器 Varnish 概念篇 http://www.linuxidc.com/Linux/2014-05/101389.htm

CentOS 5.8 下 Varnish-2.1.5 的安装配置 http://www.linuxidc.com/Linux/2013-09/89916.htm

RedHat 脚本改用 CentOS 源更新安装 Nginx、PHP 5.3、Varnish http://www.linuxidc.com/Linux/2012-07/65801.htm

Red Hat Linux 7 下 Varnish 简单搭建 http://www.linuxidc.com/Linux/2016-03/129284.htm

Varnish 缓存实现动静分离  http://www.linuxidc.com/Linux/2016-11/137152.htm

高性能缓存服务器 Varnish 深入浅出部署  http://www.linuxidc.com/Linux/2017-02/140655.htm

Linux 中 Varnish 基础应用  http://www.linuxidc.com/Linux/2016-08/134025.htm

Varnish 的详细介绍 :请点这里
Varnish 的下载地址 :请点这里

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-11/149010.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2778字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7988982
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
150元打造低成本NAS小钢炮,捡一块3865U工控板

150元打造低成本NAS小钢炮,捡一块3865U工控板

150 元打造低成本 NAS 小钢炮,捡一块 3865U 工控板 一块二手的熊猫 B3 工控板 3865U,搭...
星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛 NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手! 作为动漫爱好者,你是否还在为...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的 NAS 中! 大家对「数据安全感」的需求越来越高 ...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛 NAS-14:解锁公网自由!Lucky 功能工具安装使用保姆级教程 作为 NAS 玩家,咱们最...
安装并使用谷歌AI编程工具Antigravity(亲测有效)

安装并使用谷歌AI编程工具Antigravity(亲测有效)

  安装并使用谷歌 AI 编程工具 Antigravity(亲测有效) 引言 Antigravity...
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸 前言 作为天天跟架构图、拓扑图死磕的...
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...
150元打造低成本NAS小钢炮,捡一块3865U工控板

150元打造低成本NAS小钢炮,捡一块3865U工控板

150 元打造低成本 NAS 小钢炮,捡一块 3865U 工控板 一块二手的熊猫 B3 工控板 3865U,搭...