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

目录
相关文章
|
1月前
|
缓存 安全 UED
网站图片缓存设置不当可能会导致哪些问题?
【10月更文挑战第18天】网站图片缓存的合理设置至关重要,需要综合考虑图片的性质、更新频率、用户体验、服务器性能等多方面因素,以避免出现上述各种问题,确保网站的正常运行和用户信息的安全。
|
1月前
|
存储 缓存 监控
网站的图片资源是否需要设置缓存?
【10月更文挑战第18天】网站的图片资源一般是需要设置缓存的,但要根据图片的具体特点和网站的需求,合理设置缓存时间和缓存策略,在提高网站性能和用户体验的同时,确保用户能够获取到准确、及时的图片信息。
|
1月前
|
缓存 监控 测试技术
如何利用浏览器的缓存来优化网站性能?
【10月更文挑战第23天】通过以上多种方法合理利用浏览器缓存,可以显著提高网站的性能,减少网络请求,加快资源加载速度,提升用户的访问体验。同时,要根据网站的具体情况和资源的特点,不断优化和调整缓存策略,以适应不断变化的业务需求和用户访问模式。
88 7
|
2月前
|
缓存 弹性计算 应用服务中间件
如何使用 Wordpress?托管, 网站, 插件, 缓存
如何使用 Wordpress?托管, 网站, 插件, 缓存
|
4月前
|
缓存 开发工具
使用varnish缓存多个网站(三)
【8月更文挑战第9天】使用varnish缓存多个网站
69 5
|
4月前
|
存储 缓存 Linux
使用Varnish为网站加速(二)缓存一个网站
【8月更文挑战第9天】使用Varnish为网站加速安装使用缓存一个网站
30 1
|
2月前
|
消息中间件 缓存 NoSQL
Redis 是一个高性能的键值对存储系统,常用于缓存、消息队列和会话管理等场景。
【10月更文挑战第4天】Redis 是一个高性能的键值对存储系统,常用于缓存、消息队列和会话管理等场景。随着数据增长,有时需要将 Redis 数据导出以进行分析、备份或迁移。本文详细介绍几种导出方法:1)使用 Redis 命令与重定向;2)利用 Redis 的 RDB 和 AOF 持久化功能;3)借助第三方工具如 `redis-dump`。每种方法均附有示例代码,帮助你轻松完成数据导出任务。无论数据量大小,总有一款适合你。
78 6
|
1月前
|
缓存 NoSQL 关系型数据库
大厂面试高频:如何解决Redis缓存雪崩、缓存穿透、缓存并发等5大难题
本文详解缓存雪崩、缓存穿透、缓存并发及缓存预热等问题,提供高可用解决方案,帮助你在大厂面试和实际工作中应对这些常见并发场景。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:如何解决Redis缓存雪崩、缓存穿透、缓存并发等5大难题
|
1月前
|
存储 缓存 NoSQL
【赵渝强老师】基于Redis的旁路缓存架构
本文介绍了引入缓存后的系统架构,通过缓存可以提升访问性能、降低网络拥堵、减轻服务负载和增强可扩展性。文中提供了相关图片和视频讲解,并讨论了数据库读写分离、分库分表等方法来减轻数据库压力。同时,文章也指出了缓存可能带来的复杂度增加、成本提高和数据一致性问题。
【赵渝强老师】基于Redis的旁路缓存架构
|
1月前
|
缓存 NoSQL Redis
Redis 缓存使用的实践
《Redis缓存最佳实践指南》涵盖缓存更新策略、缓存击穿防护、大key处理和性能优化。包括Cache Aside Pattern、Write Through、分布式锁、大key拆分和批量操作等技术,帮助你在项目中高效使用Redis缓存。
234 22