今天继续给大家介绍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