文章目录
企业CDN缓存系统–varnish(三)–清理缓存
非图形化清除
vcl_deliver模块的作用
在缓存数据将要发送到客户端时调用,也就是当一个没有被缓存的数据交付给客户端的时候被调用。
如何检查服务器是否加速
可以在响应报文里写,查看是否命中缓存
检验是否命中缓存
在server1代理服务器上
vim /etc/varnish/default.vcl
systemctl restart varnish
(查看缓存是否命中0)
第一次连接时会显示MISS,后面的每次连接都会显示HIT
如何手动清除缓存
清理缓存中满足缓存条件的对象 ban
varnishadm ban req.url "~" / #清除全部缓存
varnishadm ban req.url "~" /index.html #清除指定缓存
测试:
图形化清理缓存(CDN推送平台)
对varnish代理服务器的设置
1.获得bansys.zip包
2.解压,如果没有unzip命令,需要install
yum install php unzip httpd -y #安装需要用到的软件包
unzip bansys.zip #解压
mv ./bansys/* /var/www/html #或者unzip bansys.zip -d /var/www/html解压到apache的默认发布目录下
3.因为varnish占用了端口80,需要修改httpd的端口
vim /etc/httpd/conf/httpd.conf
4.配置config.php文件
cd /var/www/html/
vim config.php
5.vim /etc/varnish/default.vcl
设置权限列表,不能让什么人都有权限去清理缓存
return (purge) —— 使流程进入vcl_purge 子程序,取出相应缓存的对象内容然后清除之
vcl_synth
用于在Varnish中生成内容
错误消息可以在这里创建
其他用例:重定向用户(301/302重定向
客户端测试
清理之前:
清理全部缓存
清理之后:
清理指定缓存:
清理之后: