Varnish 如何在重启时保存 default.vcl 配置

Varnish how to save default.vcl config on restart

我们使用 Turpentine 来管理清漆配置。 Turpentine 将配置推送到我们的清漆服务器,并且该配置保留在内存中。然而,Varnish 不会将配置保存到它的 default.vcl 文件中。如果我继续服务器 varnish 运行,它将使用非常旧的配置,因为它是从 default.vcl 读取的。直到我从 Magento 推送配置,varnish 才重新开始运行。

我建议编辑您的 /etc/init.d/varnish 如下

stop_varnishd() {
    log_daemon_msg "Stopping $DESC" "$NAME"
    #save varnish config to default
    varnishadm vcl.show $(varnishadm vcl.list | awk '/^active/ {print }') > /etc/varnish/default.vcl
    ...

基本上在停止函数中添加一行,该函数首先将内存中的配置保存到文件中,这样如果您重新启动它将在下次启动时获取最新的配置。

我认为这应该是默认的一部分。