LAMP+Varnish缓存详解(二)——单网站缓存

简介: LAMP+Varnish缓存详解(二)——单网站缓存

今天继续给大家介绍Linux运维的相关知识,本文主要内容是LAMP架构配合Varnish缓存的单网站缓存实战。

一、Varnish安装
我们今天在一台设备上,安装LAMP+Varnish架构,实现Varnish对网站内容的缓存,Apache监听80端口,Varnish监听6081端口。
首先,我们上传Varnish的安装包,并进行解压,结果如下所示:

可以看出,Varnish的安装包中有三个文件(图中有5个是因为有两个版本),分别是varnish安装文件、jemalloc安装文件,和varnish的依赖安装文件。varnish-lib是varnish的依赖安装文件,在安装varnish之前必须进行安装,jemalloc也是varnish必须要安装的文件,主要用于内存的分配。因此,我们在安装varnish时,需要依次执行以下命令:

rpm -ivh jemalloc-3.6.0-1.el7.x86_64.rpm
rpm -ivh varnish-libs-4.0.5-1.el7.x86_64.rpm
rpm -ivh varnish-4.0.5-1.el7.x86_64.rpm
1
2
3
如果在安装时,出现下列问题:

则说明我们需要安装redhat-rpm-config,执行命令:

yum install -y redhat-rpm-config
1
即可解决该问题。另外,Varnish的安装还要求系统中已经安装有gcc和gcc-c++,如果这两个编译器没有安装,也会报相应的错误,解决方法就是安装这两个软件即可。

二、Varnish配置
接下来,我们来进行Varnish的实战配置。在安装完Varnish后,首先打开Varnish的主配置文件:/etc/varnish/default.vcl,找到如下位置处:

讲讲其中的.host和.port修改为我们实际Apache服务器的IP地址和监听端口号。之后,找到该配置文件中的sub vcl_deliver模块,并在该模块下添加如下内容:

if (obj.hits > 0) {
set resp.http.X-Cache = "HIT from " + req.http.host;
set resp.http.X-Cache-Hits = obj.hits;
} else {
set resp.http.X-Cache = "MISS from " + req.http.host;
}
return (deliver);
1
2
3
4
5
6
7
添加完成后,效果如下所示:

上述命令采用VCL语言写成,主要是在Varnish的返回消息中添加命中有关的消息。但是!即使是不添加上述内容,我们的Varnish缓存依旧可以配置成功!
在上述配置全部完成后,执行命令:

systemctl start varnish
1
启动Varnish,发现系统监听6081端口,结果如下:

注意,在实战场景下,如果需要Varnish监听其他的端口,我们可以打开/etc/varnish/varnish.params文件,修改VARNISH_LISTEN_PORT参数即可修改Varnish的监听端口。

三、缓存效果检验
在上述所有配置全部完成后,我们尝试访问Varnish缓存,并查看访问结果,如下:

可以看到,通过Varnish缓存对Apache进行访问其效果是一样的,查看Varnish返回的消息头,发现了X-cache和X-Varnish字段表明该服务是通过Varnish进行访问的,由此可见,我们配置成功!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_40228200/article/details/122710237

目录
相关文章
|
19天前
|
缓存 弹性计算 应用服务中间件
如何使用 Wordpress?托管, 网站, 插件, 缓存
如何使用 Wordpress?托管, 网站, 插件, 缓存
|
6月前
|
存储 缓存 前端开发
揭秘Web缓存:提升网站性能与用户体验
揭秘Web缓存:提升网站性能与用户体验
|
3月前
|
缓存 开发工具
使用varnish缓存多个网站(三)
【8月更文挑战第9天】使用varnish缓存多个网站
63 5
|
3月前
|
存储 缓存 Linux
使用Varnish为网站加速(二)缓存一个网站
【8月更文挑战第9天】使用Varnish为网站加速安装使用缓存一个网站
24 1
|
6月前
|
缓存 数据安全/隐私保护 UED
深入了解304缓存原理:提升网站性能与加载速度
深入了解304缓存原理:提升网站性能与加载速度
|
6月前
|
存储 缓存 前端开发
掌握Nginx缓存策略:提高网站性能,降低响应时间
掌握Nginx缓存策略:提高网站性能,降低响应时间
443 1
|
25天前
|
存储 缓存 NoSQL
数据的存储--Redis缓存存储(一)
数据的存储--Redis缓存存储(一)
60 1
|
25天前
|
存储 缓存 NoSQL
数据的存储--Redis缓存存储(二)
数据的存储--Redis缓存存储(二)
37 2
数据的存储--Redis缓存存储(二)
|
22天前
|
消息中间件 缓存 NoSQL
Redis 是一个高性能的键值对存储系统,常用于缓存、消息队列和会话管理等场景。
【10月更文挑战第4天】Redis 是一个高性能的键值对存储系统,常用于缓存、消息队列和会话管理等场景。随着数据增长,有时需要将 Redis 数据导出以进行分析、备份或迁移。本文详细介绍几种导出方法:1)使用 Redis 命令与重定向;2)利用 Redis 的 RDB 和 AOF 持久化功能;3)借助第三方工具如 `redis-dump`。每种方法均附有示例代码,帮助你轻松完成数据导出任务。无论数据量大小,总有一款适合你。
56 6
|
26天前
|
缓存 NoSQL 关系型数据库
redis和缓存及相关问题和解决办法 什么是缓存预热、缓存穿透、缓存雪崩、缓存击穿
本文深入探讨了Redis缓存的相关知识,包括缓存的概念、使用场景、可能出现的问题(缓存预热、缓存穿透、缓存雪崩、缓存击穿)及其解决方案。
127 0
redis和缓存及相关问题和解决办法 什么是缓存预热、缓存穿透、缓存雪崩、缓存击穿