Varnish不重启加载新配置文件
假设启动的varnish服务如下:
./varnishd -f ../etc/varnish/default.vcl -s malloc,1G -T 127.0.0.1:3500
注意:1. varnish服务本身,启动默认端口80;如果需要重新指定启动的端口使用 -a选项 ,如-a 0.0.0.0:8080
2. -T 选项指定了varnish服务本身的管理端口,正是利用这个端口完成一些不关闭varnish服务而使新配置生效。
操作步骤:
1、登陆到管理接口:
>telnet 127.0.0.1 3500
>help (利用该命令可以得到很多的修改帮助)
返回:
200 377
help [command]
ping [timestamp]
auth response
quit
banner
status
start
stop
stats
vcl.load <configname> <filename>
vcl.inline <configname> <quoted_VCLstring>
vcl.use <configname>
vcl.discard <configname>
vcl.list
vcl.show <configname>
param.show [-l] [<param>]
param.set <param> <value>
purge.url <regexp>
purge <field> <operator> <arg> [&& <field> <oper> <arg>]…
purge.list
使用命令
vcl.load new.vcl /usr/local/varnish/etc/varnish/new.vcl (编译出错的话会有提示,成功会返回200)
200
然后使用
vcl.use new.vcl (成功后同样会返回200)
200
此时新的配置文件已经生效!