[英]Varnish Cache log not working
varnishlog返回:
_.vsm: No such file or directory
有人看过吗?
看起来varnishlog没有指向正确的目录,或者无法访问它。
请检查varnishd的命令行选项。 如果守护程序使用-n <instancename>
参数运行,则还必须将其添加到varnishlog中。
第二件事,是查看清漆目录的权限。 为了查看当前使用的目录,您必须登录到root并运行以下命令:
$ lsof -p <PID of varnishd> | grep vsm
一旦显示出来,您只需要确保完整路径具有用户的读取权限即可。
在Varnish 4.1中,根本原因可能是由于读取_.vsm
文件的权限不正确。 例如:
# service varnishncsa start
* Starting HTTP accelerator log deamon [fail]
Can't open log - retrying for 5 seconds
Can't open VSM file (Cannot open /var/lib/varnish/dev-me/_.vsm: Permission denied
Varnishncsa来自varnishlog
用户。 但是/var/lib/varnish/dev-me/_.vsm
只能从varnish组或root用户读取:
# ls -l /var/lib/varnish/dev-me/_.vsm
-rw-r----- 1 root varnish 84934656 Apr 15 05:58 /var/lib/varnish/dev-me/_.vsm
因此,您可以通过以下方式解决此问题:
# usermod -a -G varnish varnishlog
# id varnishlog
uid=110(varnishlog) gid=116(varnishlog) groups=116(varnishlog),115(varnish)
现在您可以启动varnishncsa。
在本例中,服务器的主机名已更改。
如果您未指定实例名称,则varnish将使用主机名。 它正在寻找一个目录,该目录包含具有新主机名的共享内存日志记录配置,但是该实例仍在具有旧主机名的目录中运行。
重启清漆解决了问题。
尝试发出varnishadm命令时,我遇到了同样的错误消息。 原来,我重命名了我的机器而没有停止清漆。 / var / varnish /中有一些目录与varnish需要访问的机器名称相对应。 “ sudo服务清漆重新启动”为我修复了此问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.