Varnish在清除时运行VCC编译器失败

我一直在使用这个default.vcl 这个指南 。 但是,当开始清,我得到以下错误:

* Starting HTTP accelerator [fail] storage_malloc: max size 1024 MB. Message from VCC-compiler: Expected '(' got ';' (program line 341), at (input Line 43 Pos 22) purge; ---------------------# Running VCC-compiler failed, exit 1 VCL compilation failed 

这意味着在这里清除是有问题的:

 sub vcl_hit { if (req.request == "PURGE") { purge; error 200 "Purged."; } } 

我没有看到任何错误,可以解释一下吗?

谢谢!

你使用的代码块是完全有效的 – 事实上我使用了一个几乎与我的Varnish设置(我猜其他许多人也一样)。

由于错误提示purge存在问题。 由于purge只在Varnish 3.x中引入,如果您使用Varnish(2.x)的早期版本,则该命令将无法识别,编译将失败。 您可以通过运行varnishd -V来确定您的Varnish版本。

如果您使用的是set obj.ttl = 0s;版本的Varnish,并且无法升级,则等效命令set obj.ttl = 0s;

Varnish在其下载页面上为Ubuntu / Debian和RHEL / CentOS发行版维护最新的存储库。