Varnish—CDN加速的实现(单个后端服务器)

一.部署单个后端服务器的Varnish

配置好的实验环境如下所示:

nodel1172.25.11.11
nodel2172.25.11.12
nodel3172.25.11.13

在这里插入图片描述
第一步:

利用ssh连接(这个实验只需要两个虚拟机和真机,所以我们采用的是nodel1和nodel2)
在这里插入图片描述
我们用nodel1当作varnish服务器,将varnish安装包从真机中传入nodel1
在这里插入图片描述
第二步:

在nodel1中安装varnish软件包
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
此时会生成一个Varnish用户
在这里插入图片描述
varnish服务的说明文档(类似)
在这里插入图片描述
在这里插入图片描述
第三步:

查看打开文件数,发现我们打开的文件数与varnish说明的打开文件个数上限不匹配

在这里插入图片描述

这里有两个方法可以使其配置文件的最大打开的文件数与文件的上限相匹配,其一是把配置文件中的最大打开文件数更改小一点,其二是增加内存,这里我们将增加内存的大小
首先使其虚拟机关闭
在这里插入图片描述
增加内存为2048
在这里插入图片描述
再重新连接,发现达到了文件上限

在这里插入图片描述

第四步:

vim /etc/varnish/varnish.params
修改Varnish的端口,将其端口修改为80
VARNISH_LISTEN_PORT=80

在这里插入图片描述
在这里插入图片描述

第五步:

查看系统允许的内存锁定和文件连接最大,发现系统只允许64M内存锁定,需要去修改

vim /etc/security/limits.conf 
在里面最后写入:
varnish       -      nofile          131072
varnish       -      memlock         82000

在这里插入图片描述
在这里插入图片描述
启动varnish,查看端口
在这里插入图片描述
注意:因为varnish这个程序运行在varnish这个用户的私有空间内,内核对普通文件限制的最大文件数为98846,对varnish用户限制的最大文件数为131072,所以我们需要满足这个最大值

第六步:

在配置文件 /etc/varnish/default.vcl 中进行配置,使其可以作为nodel2的反向代理。

vim /etc/varnish/default.vcl 

在这里插入图片描述
配置单个后端服务器

backend default {
    .host = "172.25.11.12";
    .port = "80";
}

在这里插入图片描述
缓存是否命中:会发现没有缓存时是X-Cache: MISS from westos cache,访问过一次缓存保存后,再次访问时会显示击中X-Cache: HIT from westos cache,说明缓存命中

if (obj.hits > 0) {
set resp.http.X-Cache = "HIT from westos cache";
}
else {
set resp.http.X-Cache = "MISS from westos cache";
}
return (deliver);

在这里插入图片描述

重启服务
在这里插入图片描述
第七步:

对nodel2进行配置:
在这里插入图片描述
在这里插入图片描述
第八步:

在真机里进行测试:

在这里插入图片描述

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
可以在varnish服务器里面手动清理缓存

varnishadm ban req.url "~" /       清除目录缓存
varnishadm ban req.url "~" /index.html       清除网页缓存

例如:
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值