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 

如果在安装时,出现下列问题:
在这里插入图片描述
则说明我们需要安装redhat-rpm-config,执行命令:

yum install -y redhat-rpm-config

即可解决该问题。另外,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);

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

systemctl start varnish

启动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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永远是少年啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值