高性能HTTP加速器Varnish——图形化清理缓存
1. 命令清除缓存
varnish本身就是一个缓存系统,但如果有些东西不常用,我们需要清理对应的缓存。
之前我们已经讲过,怎么使用命令来清除缓存:
varnishadm
#清理缓存中满足缓存条件的对象 ban
varnish> ban req.url ~ "/index.html"
200
2. 图形化清理缓存
CDN推送平台
step1 解压推送平台的安装包:
yum install php unzip httpd -y #安装需要用到的软件包
unzip bansys.zip -d /var/www/html/ #解压
mv /var/www/html/bansys/* /var/www/html/
step2 修改apache使用的端口:
因为apache本来使用的80端口被varnish服务占了,所以需要修改
vim /etc/httpd/conf/httpd.conf
42 Listen 8080
step3 修改config.php:
cd /var/www/html/
vim config.php
1 <?php
2
3 //varnish主机列表
4 //可定义多个主机列表
5 $var_group1 = array(
6 'host' => array('172.25.1.1'),
7 'port' => '8080',
8 );
9
10
11 //varnish群组定义
12 //对主机列表进行绑定
13 $VAR_CLUSTER = array(
14 'www.kaiser.org' => $var_group1,
15 );
16
17
18 //varnish版本
19 //2.x和3.x推送命令不一样
20 $VAR_VERSION = "3";
21
22 ?>
step4 修改varnish配置文件:
vim /etc/varnish/default.vcl
32 acl kaiser {
33 "127.0.0.1";
34 "172.25.1.0"/24;
35 }
53 if (req.method == "BAN") {
54 if (!client.ip ~ kaiser) {
55 return(synth(405,"Not allowed"));
56 }
57 ban("req.url ~ " + req.url);
58 return(purge);
59 }
step5 修改本地解析:
在真机中:
vim /etc/hosts
172.25.1.1 www.kaiser.org
step6 重启服务:
systemctl restart varnish
systemctl start httpd
step7 测试:
在浏览器中:
172.25.1.1:8080
step8 清理缓存:
#在真机中
curl -I www.kaiser.org
清理之前:
清理全部缓存:
清理之后:
清理指定缓存:
清理之前:
#在真机中
curl -I www.kaiser.org/index.html
清理之后:
#在真机中
curl -I www.kaiser.org/index.html