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 / ...
随机推荐
- nginx使用certbot配置https
一般现在的网站都要支持https,即安全的http. 机器:阿里云Ubuntu 16.04.3 LTS 方案一:自己申请证书 配置时需要确保有ssl模块, 之后域名解析下, 之后时申请证书,可以去阿里 ...
- fsLayui数据表格使用
fsLayui 是一个基于layui的快速开发插件,支持数据表格增删改查操作,提供通用的组件,通过配置html实现数据请求,减少前端js重复开发的工作. GitHub下载 码云下载 测试环境地址:ht ...
- java代码连接oracle数据库的方法
oracle连接数据库的方式和mysql是大同小异的,主要的困难点在于oracle的数据库驱动包和依赖只有官方提供,如果你是用maven添加依赖的话,需要自己从官网下载jar包安装到你本地的maven ...
- 配置连接远程ip的Redis
1.修改redis服务器的配置文件redis.windows.conf 注释绑定的主机地址 # bind 127.0.0.1 修改redis的守护进程为no,不启用 daemonize "n ...
- 电路IO驱动能力
驱动能力 电源驱动能力 -> 输出电流能力 -> 输出电阻 指输出电流的能力,比如芯片的IO在高电平时的最大输出电流是4mA -> 该IO口的驱动驱动能力为4mA 负载过大(小电阻) ...
- 一、Linux的基础使用--登录、开关机与在线、命令的查询帮助
目录 一.Linux的基础使用 1.1 X Window 与命令行模式的切换 1.2 命令行模式下命令的执行 1.3 修改支持语系 1.4 基础命令的操作 1.5 几个重要的热键[Tab].[Ctrl ...
- Understanding Models, Views, and Controllers (C#)
https://docs.microsoft.com/en-us/aspnet/mvc/overview/older-versions-1/overview/understanding-models- ...
- SpringBoot RestTemplate接收文件,并将文件发送到另外一个程序进行存储
最近有个需求,接收用户上报的证书,并且保存起来,证书大小不到1M,但该证书的保存必须在另外一个程序进行,所以想到使用springboot接收上传文件后,再通过RestTemplate将文件发送给另外一 ...
- nginx使用场景
1. 对外开放本地封闭Server 本地server无法对外开放,nginx做反向代理,对外开发,使得外部可以访问封闭服务. upstream npm { server ; keepalive ; } ...
- 《图解 HTTP》读书笔记
<图解 HTTP>一书是日本学者上野宣所著,2014 年由于均良先生翻译并在国内出版.因为作者使用十分生动的语言和浅显易懂的案例将 HTTP 协议讲解得深入浅出,所以深受开发者喜爱.现在在 ...