varnish不重启使配置生效的方法
varnish在内存模式下比较高效,不过其有一个缺点就是cache是放在内存里的,一旦重启,cache文件就没了。而且往往由于需要调整vcl配置文件,而让配置文件生效的话就没必要重启应用 。这时可以通过reload配置文件使配置生效。varnish重置配置文件的方法我这里总结了三种 ———— telnet管理法、varnishadm重载法、varnish_reload_vcl脚本法。
方法一、telnet管理法
1、登陆到管理接口:
1>telnet 127.0.0.1 2000
2>help (利用该命令可以得到很多的修改帮助)
3返回:
4200 377
5help [command]
6ping [timestamp]
7auth response
8quit
9banner
10status
11start
12stop
13stats
14vcl.load
15vcl.inline
16vcl.use
17vcl.discard
18vcl.list
19vcl.show
20param.show [-l] []
21param.set
22purge.url
23purge [&& ]…
24purge.list
25
26使用命令:
27vcl.load new.vcl /App/varnish/etc/varnish/online.vcl
出错的话会有提示,成功会返回200
注意,这里configname和后面对应的filename不一定要完全一致,但后面reload加载配置时,一定要和configname一致。
vcl.use new.vcl (成功后同样会返回200)
此时新的配置文件已经生效!
方法二、varnishadm重载法
运行varnishadm工具后出现的提示界面和telnet进行管理的界面是相同的,当然重载配置文件的方法也是相同的。都是先通过vcl.load检查配置文件是否有问题。发现是200后,再通过vcl.use加载新的配置并生效。所以从本质上说两者并没有区别。
方法三、varnish_reload_vcl脚本法
能过yum包安装的话,可以直接使用该脚本。而且通过源码包进行安装的话,在源码包的的redhat目录下也含有该脚本,不过并不能直接使用该脚本,该脚本会读取/etc/sysconfig/varnish文件里的一些变量(该文件更改后就可以使用了)。
而如果细看该脚本的话,其原理是通过varnishadm命令,重新读取配置文件并载入。原理上来说和上面两种方法也没太大区别。所以总的来说,三种方法属于同宗同源。
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/varnish-reload/2337.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.