在我的清漆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 的符号链接。
我不知道为什么包含不起作用,可能是清漆不能与符号链接一起使用吗?为什么找不到文件?
您必须将参数 vcl_dir
传递给 varnishd
。 您可以使用以下命令进行测试:
varnishd -p vcl_dir=/path/to/vars.vcl -C -f default.vcl
> 正如@francisv提到的,你必须使用 -p(参数) 传递目录位置
vcl_dir
在 6.1.0 版本中已弃用,因此您必须改用vcl_path
varnishd -p vcl_path=/path/to/vars.vcl -C -f default.vcl
只需确保路径名应该从/其他明智地开始,它不起作用
从清漆 6.5 升级到 6.6 时遇到了同样的问题。它用
include "./vars.vcl";