在我的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的符号链接。
我不知道为什么包含不起作用,可能是清漆无法使用符号链接吗? 为什么找不到文件?
答案 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
只需确保路径名应以/开头,否则它将不起作用