我没有清漆的经验。 我想设置清漆做一些非常基本的事情:我有两页
http://mysite.com/ http://mysite.com/additem
我想cachinghttp://mysite.com/additem 10分钟和http://mysite.com/ 1分钟,但每当访问http://mysite.com/additem ,我想清理cachinghttp://mysite.com/ 。 任何帮助?
IIRC有一个cli程序(清除),您可以从http://mysite.com/additem调用,或使用curl发送清除指令(作为HTTP动词),例如
curl -X PURGE http://mysite.com/
但是这个假设你已经在http://mysite.com/additem上有了脚本
我想可以在http://mysite.com/additem的VCL处理程序中调用清除
sub vcl_recv { if (req.url ~ "^http://mysite.com/additem") { purge("req.url == http://mysite.com/"); } }
(未testing)
第1部分:
这个命令将清理(清除)一个子文件夹(例如)
varnishadm -S /etc/varnish/secret -T localhost:6082 "ban req.http.host == mysite.com && req.url ~ ^/fold/.*$"
对于你的域根,这将工作*
varnishadm -S /etc/varnish/secret -T localhost:6082 "ban req.http.host == mysite.com && req.url ~ ^/.*$"
*注意:需要testing以查看上述清除子文件夹(recursion)
第2部分:您是否负责服务器,而不是将其用于(m)任何其他用户? 你在PHP中允许系统命令吗? 如果是的话 ,访问http://mysite.com/additem时应该很容易运行该命令。
上述命令从CLI工作,而不是另一种方式testing。