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

Ubuntu Varnish忽略/etc/default/Varnish中的设置,ubuntu,varnish,Ubuntu,Varnish,Varnish 4.1.1完全忽略Ubuntu 16.04 LTS上/etc/default/Varnish文件中的设置。我在寻找解决办法 /bin/systemctl状态清漆的结果。服务 Warning: Journal has been rotated since unit was started. Log output is incomple lines 1-14/14 (END) ● varnish.service - Varnish HTTP accelerator Loaded

Varnish 4.1.1完全忽略Ubuntu 16.04 LTS上/etc/default/Varnish文件中的设置。我在寻找解决办法

/bin/systemctl状态清漆的结果。服务

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.

默认情况下,
Varnish
将尝试加载位于路径
/etc/Varnish/default.vcl
default.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+

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

/etc/default/varnish由/etc/init.d/varnish专门故意使用

“如果您想自己使用/etc/default/varnish,可以重写 /lib/systemd/system/varnish.service位于/etc/systemd/system/varnish.service中,但我建议您只需在中编写所需的命令行选项 /etc/systemd/system/varnish.service,而不是读取/etc/default/varnish“

varnish.service采用.INI格式。本教程给出了Debian的一个示例:

官方文件中增加了:

e、 g.我刚刚在16.04设置的清漆上的varnish.service有以下行(该框称为cache1):

更改后,请不要忘记重新加载systemd:

然后重新启动清漆。使用/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 restart varnish和sudo systemctl status varnish


curl localhost

能否发布
/bin/systemctl status varnish.service
的输出和
/usr/lib/systemd/system/varnish.service
的内容?我与varnish 5有同样的问题,/etc/varnish文件夹中没有文件“varnish.params”。我修改了default.vcl文件,但我的varnish没有启动根据CentOS上最新版本的varnish,rpm包含
/etc/varnish/varnish.params
,因此它应该存在。当然对于ubuntu也是一样的,这个命令的输出是什么:
varnishd~d~f/etc/varnish/default.vcl
?谢谢你的回答,输出是:错误:来自VCC编译器的消息:vcl版本声明丢失\n将你的vcl更新为版本4语法,并添加\n vcl 4.0\非VCL文件的第一行。\n('/etc/varnish/default.VCL'第12行第1位)\n后台默认值{\n#
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
systemctl daemon-reload