varnish4配置手动清除缓存
varnish4清楚缓存方法主要有,通过varnishadm 管理,或vcl配置。
其中vcl配置可以让客户端手动请求清楚缓存,以保证局部数据及时更新,而不用重启varnish服务器。
配置方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#允许清除缓存IP集 acl purge_ip{ "127.0.0.1" ;
"localhost" ;
} sub vcl_recv { if (req.method ~ "update" ){
if (client.ip ~ purge_ip){
return (purge); // 清除缓存
}
return (synth(404, "Not Found" ));
}
} sub vcl_purge{ return (synth(200, "success" ));
} |
重启varnish后,打开火狐浏览器,随便进入一个缓存页面,鼠标右键查看源代码,再选择网络。
点击第一个请求信息。
点击 编辑和重发
修改请求类型为 PURGE 再点击 发送
查看返回状态,如果成功则成功清除缓存,可以按 F5 刷新页面,查看新内容。
注意:varnish4 与varnish3 配置方式不一样,所以此配置方式只能使用在 varnish4,varnish3使用方式差不多,是在vcl_hit中使用 purge; 命令然后返回一个 error 200 "success" , vcl_recv 应该使用 return(lookup);,再就是不要忘记添加 reg.request==“PURGE” 判断。
本文转自 ttlxihuan 51CTO博客,原文链接:http://blog.51cto.com/php2012web/1686810