辨别清漆最简单的方法是什么:
嘿,Varnish 进程,请清除缓存。另外,现在请不要缓存任何东西。我希望您现在将所有请求直接传递到后端。稍后,当我希望您恢复正常运行时,我会通知您。
我正在对网站进行一些调试和迭代,但我厌倦了在每次更改和新请求之间使用此命令不断清除缓存。
varnishadm 'ban req.url ~ "."'
此外,这是一个相当复杂的 varnish 配置,它有许多适用于许多不同网站和域的后端。
我只想要最简单的命令来告诉 varnish 暂时强制所有请求到后端。
# this command does not exist
varnishadm 'caching-pause req.url ~ "."'
以及相应的简单命令来恢复 varnish 的正常运行。
# this command also does not exist
varnishadm 'caching-resume req.url ~ "."'
是否有一些简单的方法可以告诉 varnish 暂时停止缓存所有内容?
答案1
确保以下 VCL 代码位于/etc/varnish/no-cache.vcl
:
vcl 4.0;
backend default {
.host = "your-host";
.port = "your-port";
}
sub vcl_recv {
return(pass);
}
然后按如下方式加载VCL:
varnishadm vcl.load nocache /etc/varnish/no-cache.vcl
每当您希望 Varnish 绕过缓存时,请运行以下命令:
varnishadm vcl.use nocache
如果您想恢复正常操作并且您的常规 VCL 名为boot
,只需使用以下命令:
varnishadm vcl.use boot
您可以使用它
varnishadm vcl.list
来查看已加载的 VCL 文件的列表并查看哪一个是活动的。