清漆包括在同一目录中找不到文件

时间:2014-11-28 13:12:54

标签: include varnish include-path varnish-vcl

在我的varnish default.vcl中,我有以下代码:

include "vars.vcl";

当我尝试启动清漆时,我收到以下错误消息:

Message from VCC-compiler:
Cannot read file 'vars.vcl': No such file or directory
('input' Line 6 Pos 9)
include "vars.vcl";
--------##########-

Running VCC-compiler failed, exited with 2

VCL compilation failed

文件'vars.vcl'位于/ etc / varnish /目录中,其中也存储了default.vcl。它是实际vars.vcl的符号链接。

我不知道为什么包含不起作用,可能是清漆无法使用符号链接吗? 为什么找不到文件?

2 个答案:

答案 0 :(得分:3)

您必须将参数vcl_dir传递给varnishd。你可以用以下方法测试它:

varnishd -p vcl_dir=/path/to/vars.vcl -C -f default.vcl

答案 1 :(得分:1)

如@francisv所述,您必须使用-p(parameter)传递目录位置

vcl_dir在6.1.0版本中已过时,因此您必须改为使用vcl_path

varnishd -p vcl_path=/path/to/vars.vcl -C -f default.vcl

只需确保路径名应以/开头,否则它将不起作用