安装配置好并启动varnish之后,使用了varnishlog命令出现错误提示:Cannot open /usr/local/varnish/var/varnish/test.localdomain/_.vsm: No such file or directory
用# ls /usr/local/varnish/var/varnish查看发现目录下连test.localdomain这个目录都没有
解决办法1:
如果你启动varnishd时使用了-n <instancename>
的选项,那么使用varnishlog也一定要加上-n <instancename>。
注:如果你不知道是否加了-n的选项而且是用servcie varnishd start或者/etc/init.d/varnishd start启动的,cat
/etc/init.d/varnishd|more 看下。
解决办法2:
1.用ps -ef |grep varnishd查看下varnishd的pid
可以看到我这里有两个varnishd进程,因为我在varnish的配置文件中设置的varnishd的执行用用户是www,所以这里应该是2563
2,使用lsof -p <
varnishd
的PID> | grep vsm查看_vsm的实际路径
前一步中已经知道的我的
lsof -p 2563 |grep vsm
是2563,所以我在这里的命令是varnishd
的PID
3.mkdir /usr/local/varnish/var/varnish/test.localdomain/
注:这里的test.localdomain应该是你错误提示中的主机名
4.创建一个软链接,链接到上面查看到的_.vsm的路径
# ln -s /var/log/varnish/_.vsm /usr/local/varnish/var/varnish/test.localdomain/_.vsm
5.执行# ./varnishlog
再访问varnish的http代理服务就可以看到日志了
参考: