我知道Varnish日志记录默认情况下未启用,并且已通过varnishncsa
启用,有许多文章在线有关如何设置但不适用于Linux Alpine。我看到configurations for it here。但不确定默认情况下是否运行任何日志记录服务。
非常感谢任何帮助。非常感谢
答案 0 :(得分:1)
要启用信息性日志,您需要启动以下命令:
/usr/bin/varnishncsa -q 'ReqURL ne "<url_which_should_be_not_logged>"' -F '%{Host}i %h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\" \"%{Varnish:hitmiss}x\"' -w /path/to/log_file
varnishd
启动后:
/usr/sbin/varnishd -s malloc,128M -a :80 -f /etc/varnish/default.vcl
如果我们在谈论Docker容器中的Alpine,只需创建以下entrypoint.sh
脚本:
#!/bin/bash
mkdir -p /var/lib/varnish/`hostname` && chown nobody /var/lib/varnish/`hostname`
/usr/sbin/varnishd -s malloc,128M -a :80 -f /etc/varnish/default.vcl
/usr/bin/varnishncsa -q 'ReqURL ne "<url_which_should_be_not_logged>"' -F '%{Host}i %h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\" \"%{Varnish:hitmiss}x\"'
并将其放在Dockerfile
:
ENTRYPOINT ["/entrypoint.sh"]