varnish CLI管理
命令:varnishadm [-t timeout] [-S secret_file] [-T address:port] [-n name] [command [...]]
./varnishadm -T 127.0.0.1:
- -t timeout:等待一个操作完成的时间,单位秒
- -S secret_file:确定一个认证的安全文件
- -T address:port:连接到管理接口的地址和端口,在启动Varnish时指定的
- -n name:连接到管理接口的名字, 在启动Varnish时指定的
CLI主要能完成如下的功能:
- 配置:能上传、修改和删除VCL文件
- 参数:能查看和修改各种参数
- 清除缓存:可以清除Varnish中的缓存内容
- 进程管理:可以启动或者停止缓存子进程
CLI中常用的命令
backend.list:列出定义中的backend,包括它们的健康状态

vcl.load configname filename:创建一个新的配置,配置的名字是configname,内容是filename指定的文件内容

vcl.show configname:显示配置的具体内容
vcl.use configname:使用哪一个配置

vcl.list:列出可用的配置,以及参照使用他们的数量

ban field operator argument [&& field operator argument [...]]:使得匹配ban表达式的内容从缓存中清除。
- 一个ban表达式包含一到多个条件,一个条件由一个字段、一个操作符、一个参数构成,多个条件之间可以用“&&”来表示 and的关系
- 字段可以是任意的VCL变量,如:req.url, req.http.host or obj.http.set-cookie等
- 操作符有:==表示等、~匹配正则表达式、>、<、!等
- 参数可以是一个用双引号引起来的字符串,也可以是正则表达式、或者数字。数字后面开可以跟“KB”, “MB”, “GB” 或“TB”等。
- 示例如下:
清除请求url完全匹配“/news”的缓存内容: ban req.url == "/news“
清除请求url不能以.ogg结尾,同时这对象的大小不能大于10M 的缓存内容ban req.url !~ ".ogg$" && obj.size > 10MB
清除host为example.com或者www.example.com,同时从backend获得set-cookie头里面包含userid=1663 , 的缓存内容
ban req.http.host ~ "^(?i)(www\.)example.com$" && obj.http.set-cookie ~"USERID=1663

ban.list:内容ban列表。
- 如果缓存的内容比ban旧,那么这个缓存内容会被标示成banned,不能再使用这个
- 缓存内容,需要从backend获取内容。
- 如果ban的表达式比所有的缓存对象都旧的话,它将从ban的list里面去掉
- ban.list输出的格式如下:
0x7fea4fcb0580 1303835108.618863 131G req.http.host ~ www.myhost.com &&req.url ~ /some/url
第一个字段是ban的地址,第二个字段是时间戳,第三个字段表示有多少个对象
受此ban的影响(通常在debug时才有效),G表示这个ban已经Gone,也就不再有效了
后面的内容才是真正的ban的内容。
quit:退出CLI管理
help [command]:显示命令的帮助,不写命令就显示所有的命令
varnish CLI管理的更多相关文章
- RabbitMQ CLI 管理工具 rabbitmqadmin(管理和监控)
插个广告,公司最近在招".NET"开发(杭州),如果你现在还从事 .NET 开发(想用 .NET Core,但被公司不认可),想转 JAVA 开发(但又没有工作经验,惧怕面试),想 ...
- 7.6 CLI 管理Varnish
./varnishd -f /usr/common/varnish/etc/varnish/ -a 测试: 代理tomcat服务器地址:http://172.20.10.5:1111/ telnet ...
- 缓存varnish的管理及配置详解
一 工作原理 在当前主流的Web服务架构体系中,Cache担任着越来越重要的作用.常见的基于浏览器的C/S架构,Web Cache更是节约服务器资源的关键.而最近几年由FreeBSD创始人之一Kamp ...
- 通过 CLI 管理 Jenkins Server
Jenkins 内置的命令行接口允许管理员通过命令行工具访问并管理 Jenkins.这让我们可以通过脚本自动化的创建配置或执行任务,也就是把 Jenkins 中的配置代码化了.Jenkins 同时支持 ...
- 使用阿里云cli管理安全组
相比于python SDK方式,阿里云基于GO SDK开发了一整套CLI工具,可以通过调用RPC API来管理云资源,对编程能力不够的人来说是个福音. 而且,阿里云CLI的文档比SDK的文档更加全面, ...
- 使用 Azure CLI 管理 Azure 虚拟网络和 Linux 虚拟机
Azure 虚拟机使用 Azure 网络进行内部和外部网络通信. 本教程将指导读者部署两个虚拟机,并为这些 VM 配置 Azure 网络. 本教程中的示例假设 VM 将要托管包含数据库后端的 Web ...
- 使用 Azure CLI 管理 Azure 磁盘
Azure 虚拟机使用磁盘来存储 VM 操作系统.应用程序和数据. 创建 VM 时,请务必选择适用于所需工作负荷的磁盘大小和配置. 本教程介绍如何部署和管理 VM 磁盘. 学习内容: OS 磁盘和临时 ...
- 用华为云cli,管理华为云服务器的,安全组端口
---[前言]--- 关键字 hcloud 华为 命令行 linux windows powershell 前些天,大家因为华为云,是否应该默认开启端口,大家吵起来了,所以我抽空写了此文.解决问题,缓 ...
- varnish 测试
安装 通过epel 源 yum 安装 [root@localhost varnish]# rpm -ql varnish /etc/logrotate.d/varnish /etc/varnish / ...
随机推荐
- ROS机器人开发实践学习笔记3
摘要: 刚刚开始学习ROS,打算入机器人的坑了,参考教材是<ROS及其人开发实践>胡春旭编著 机械工业出版社 华章科技出品.本来以为可以按照书上的步骤一步步来,但是,too young t ...
- 基于Kafka+ELK搭建海量日志平台
早在传统的单体应用时代,查看日志大都通过SSH客户端登服务器去看,使用较多的命令就是 less 或者 tail.如果服务部署了好几台,就要分别登录到这几台机器上看,等到了分布式和微服务架构流行时代,一 ...
- Android-Handler消息机制实现原理)(转)
Android-Handler消息机制实现原理 一.消息机制流程简介 在应用启动的时候,会执行程序的入口函数main(),main()里面会创建一个Looper对象,然后通过这个Looper对象开 ...
- [Scikit-learn] Yield miniBatch for online learning.
From: Out-of-core classification of text documents Code: """ ======================= ...
- 一步一步搭建Nuget私服
大致流程:1. 通过VS创建一个Web空项目,然后通过Nuget引入Nuget.Server(目前最新版3.2.1).2. 直接将这个Web项目发布到IIS.3. 通过nuget.exe打包*.nup ...
- cv2.bitwise_and的应用,
import cv2 import numpy as np Load two images img1 = cv2.imread('messi.png') img2 = cv2.imread('logo ...
- CockroachDB学习笔记——[译]Scaling Raft
原文链接:https://www.cockroachlabs.com/blog/scaling-raft/ 原作者:Ben Darnell 原文日期:Jun 11, 2015 译:zifeiy 在Co ...
- 微信小程序 左右联动菜单
根据左侧列表,联动跳右侧内容. 效果如图: wxml代码: <view class="page"> <!-- 左侧导航 --> <view class ...
- [Kevin英语情报局]那些年我们说过的中式英语
一. blonde hair 金色头发 grey hair 白头发 baijiu 白酒 white wine 白葡萄酒 I don't think it's right 我认为不正确 I'm chin ...
- Vmare虚拟机安装麻烦二三事
1).如何把虚拟机完整的迁移到另一个磁盘空间 2).VMware启动时提示我已移动或我已复制该虚拟机 3).虚拟机上显示主ip地址网络信息不可用怎么解决 4).vmware15虚拟机安装mac os ...