1.手动清除缓存
上一篇博客我们写了如何部署varnish来实现高速缓存进行cdn加速,但是服务器的信息会更新,所以需要清理缓存,重新加在缓存,具体方法如下
varnishadm ban.url .*$ ##清除所有缓存
varnishadm ban.url /index.html ##清除网页的缓存
varnishadm ban.url /admin/$ ##清除admin 目录缓存
但是这个方法只能清理一台主机的信息,公司可能会有很多台主机,如果我们每台主机都这样,是一件很麻烦的事情,那么就要用到接下来的方法了
2.使用CDN管理平台清除缓存
环境:
- 真机:firefox访问cdn管理平台
- server1:作为被清理缓存的主机,所需前端文件==> 点击下载
- server2、server3:http服务器
1)server1
首先部署httpd
yum install httpd php -y ##显示前端网页
yum install unzip -y ##解压前端文件
unzip bansys.zip -d /var/www/html
mv /var/www/html/bansys/* /var/www/html/
rm -fr /var/www/html/bansys/
vim /etc/httpd/conf/httpd.conf ##因为varnish用的是80端口,所以这里用8080
Listen 8080
/etc/init.d/httpd start
然后修改php配置
vim /var/www/html/config.php ##修改为如下
<?php
//varnish主机列表
//可定义多个主机列表
$var_group1 = array(
'host' => array('172.25.1.1'), # 定义172.25.1.1为主机列表,端口为8080
'port' => '8080',
);
//varnish群组定义
//对主机列表进行绑定
$VAR_CLUSTER = array(
'www.westos.org' => $var_group1,
);
//varnish版本
//2.x和3.x推送命令不一样
$VAR_VERSION = "3";
?>
修改varnish配置
vim /etc/varnish/default.vcl ##添加如下内容
#设置访问控制,即白名单,允许本机和172.25.1网段和推送
acl westos{
"127.0.0.1"; ##允许本机访问
"172.25.1.0"/24; ##允许172.25.1网段的所有主机访问
}
sub vcl_recv{
if(req.request == "BAN"){
if(!client.ip ~ westos){
error 405 "Not allowed.";
}
ban("req.url ~" + req.url);
error 200 "ban added";
}
}
/etc/init.d/varnish reload ##重新加载varnish服务
2)真机
因为上一篇博客已经编写过解析,不再赘述
3.测试
查看我现在访问www.westos.org的状态
为HIT缓存状态,在真机firefox输入server1的ip,就可以进入cdn推送管理的web端
推送模式选择HTTP,然后内容填写index.html
点击提交,会出现这样一个画面
然后再次查看访问www.westos.org的状态
ok~
清除缓存成功~