Varnish忽略/etc/default/villine中的设置



Varnish 4.1.1完全忽略了Ubuntu 16.04 LTS上/etc/default/villine文件中的设置。我正在寻找解决方案。

/bin/systemctl status varnish.service结果

Warning: Journal has been rotated since unit was started. Log output is incomple
lines 1-14/14 (END)
● varnish.service - Varnish HTTP accelerator
Loaded: loaded (/lib/systemd/system/varnish.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2017-01-09 01:24:09 UTC; 15h ago
Docs: https://www.varnish-cache.org/docs/4.1/
man:varnishd
Main PID: 9470 (varnishd)
Tasks: 218
Memory: 67.5M
CPU: 45.584s
CGroup: /system.slice/varnish.service
├─9470 /usr/sbin/varnishd -j unix,user=vcache -F -a :6081 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret
└─9483 /usr/sbin/varnishd -j unix,user=vcache -F -a :6081 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret
Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.

这显然是上游Debian:中的故意行为

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=749272

/etc/default/villine由/etc/init.d/villine专门用于目的。

"如果你想自己使用/etc/default/villine,你可以覆盖/lib/systemd/system/varnish.service在/etc/systemd/system/vanish.service中,但我建议您只在中编写所需的命令行选项/etc/systemd/system/varnish.service,而不是读取/etc/default/varnish">

varnish.service为.INI格式。本教程为Debian提供了一个示例:http://deshack.net/how-to-varnish-listen-port-80-systemd/

Varnish已在官方文档中添加:

https://www.varnish-cache.org/docs/trunk/tutorial/putting_varnish_on_port_80.html#debian-v8-ubuntu-v15-04

例如,我刚刚在16.04设置的varnish上的varnish.service有这样一行(这个框被称为cache1):

ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -s file,/var/lib/varnish/cache1/varnish_storage.bin,85G -n cache1

一旦你改变了这个不要忘记重新加载系统d:

systemctl daemon-reload

然后重新启动Varnish。使用/bin/systemctl status varnish.service.检查您的结果

tl;dr您需要将配置放在这两个位置。

在ubuntu 19.04:上

sudo vi/etc/systemd/system/multi-user.target.wants/varnish.service(更改端口)

sudo systemctl守护进程重载&sudo systemctl重启清漆&sudo systemctl状态清漆

curl localhost

默认情况下,Varnish将尝试加载位于此路径/etc/varnish/default.vcldefault.vcl,如您在此处所见:

CGroup: /system.slice/varnish.service
├─9470 /usr/sbin/varnishd -j unix,user=vcache -F -a :6081 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret
└─9483 /usr/sbin/varnishd -j unix,user=vcache -F -a :6081 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret

如果你想加载另一个位于另一个路径的文件,那么你需要打开这个文件/etc/varnish/varnish.params并修改此行的值:

# Main configuration file. You probably want to change it.                       
VARNISH_VCL_CONF=/etc/varnish/default.vcl

这适用于Varnish 4+

最新更新