HTTP accelerator daemon
(HTTP
加速进程)
Author: Dag-Erling Smørgrav
Author: Stig Sandbeck Mathisen
Author: Per Buer
Date: 2010-05-31
Version: 1.0
Manual section: 1
SYNOPSIS
(大纲)
varnishd [-a address[:port]] [-b host[:port]] [-d] [-F] [-f config]
[-g group] [-h type[,options]] [-i identity] [-l shmlogsize] [-n name] [-P file] [-p param=value] [-s type[,options]] [-T address[:port]] [-t ttl] [-u user] [-V] [-w min[,max[,timeout]]]
DESCRIPTION
(描述)
Varnishd
进程接收客户端的
HTTP
请求,然后把请求发送给后端服务器,缓存后端
服务器返回的内容,这样更好的满足以后相同的请求。
OPTIONS
(选项)
-a address
:
[:port][,address]
监听指定的
IP
地址和端口的请求。地址可以是主机名(“
localhost
”),或者一
个
IPV4
(“
127.0.0.1
”),和
IPV6
(“
[::1]
”)
,
如果地址没有明确指定,
varnishd
将监听所
有可用的
IPV4
和
IPV6
地址。如果端口没有指定,那么
varnishd
默认监听
/etc/services
中的
HTTP
对应的端口。更多的端口和地址使用逗号分隔。
-b host[:port]
指定后端服务器的地址和端口,如果没有指定端口,默认的是
8080.
-C
编译
VCL
代码成
C
语言,然后退出,指定
VCL
文件用
-f
参数。
-d
开启
debug
模式。主进程在前段启动,提供一个
CLI
界面用于标准输入和输出,
子进程必须通过
CLI
命令启动。如果结束主进程,那么子进程也会结束。
-F
在前端运行。
-f config
使用指定的
VCL
配置文件代替系统默认的。参见
VCL
(
7
)
-g group
指定
varnishd
子进程使用的用户组。
-h type[,options]
指定
hash
算法。
-i identity
指定
varnishd server
的身份。
-l shmlogsize
指定
shmlogfile
的大小,单位可以使用‘
k
’和‘
m
’,默认是
80M
,
如果指定比
8M
小,那是不明智的。
-n name
为这个实例指定一个名字。
-P file
指定
pidfile
,用于保存
PID
信息。
-p param=value
设定指定参数的值,查看运行时的阐述列表
-S file
访问管理端口用到的安全认证文件的路径
-s type[,options]
使用指定的存储后端,查看存储列表获得支持的存储类型。
可以多次使用此选项指定不同的存储类型。
-T address[:port]
提供一个管理接口的地址和端口,通过管理接口查看管理命令。
-t ttl
指定最小的
TTL
给
cache
中的内容。这是一个捷径设置
default_ttl run-time
选项。
-u user
指定运行
varnishd
子进程的用户。
-V
显示
varnishd
的版本,然后退出。
-w min[,max[,timeout]]
指定线程最小和最大空闲时间。这是一个设置
thread_pool_min
和
thread_pool_max
、
thread_pool_timeout
的捷径。
如果只有一个值被指定,那么
thread_pool_min
和
thread_pool_max
都是用这
个值。
Thread_poll_timeout
会失效。
Hash Algorithms
(hash
算法)
以下
hash
算法是可用的:
Simple_list
一个简单的
doubly-linked
列表,不推荐生产环境应用。
Classic[,buckets]
一个标准的
hash
表,默认使用这个。
Critbit xxx very nice
。
Storage Types
(存储类型)
下面的存储类型是可用的:
malloc[,size]
存储目标分配给
malloc
(
3
)。
Size
参数指定最大分配给
varnishd
的内存,
size
默认的单位是
bytes
。除非你指
定以下单位
K \\kibibytes
M \\membibytes
G \\gibibytes
T \\tebibytes
默认没有限制
File[,path[,size[,granularity]]]
把存储目标分配给一个文件,这个是默认的。
Path
参数指定文件名和路径,或者
path
指定一个目录,
varnishd
会自己创建
文件。默认在
/tmp
目录。
Size
参数指定最大分配给
varnishd
的内存,
size
默认的单位是
bytes
。除非你指
定以下单位
K \\kibibytes
M \\membibytes
G \\gibibytes
T \\tebibytes
%
使用所属文件系统空闲空间的百分比。
默认是
50%
如果文件已经存在,那么
varnishd
会缩减或者扩大
backing
文件到指定
size
。
注意:如果
varnishd
需要创建或者扩大一个文件,之前没有设置好空间的话,
可能会产生碎片,这样会影响性能。在分配文件之前使用
dd
命令来创建文件,这
样可以尽量减少碎片。
Granularity
参数指定分配的间隔尺寸,默认的单位是字节,你可以自定义单位,
除了使用
%
。
默认的间隔尺寸就是虚拟内存相同。如果有太多的小文件,那么空间就会减少。
Management Interface
(管理接口)
如果指定了
-T
选项,
varnishd
将提供一个命令行的管理接口在指定的地址和接
口。西面的命令式可以用的:
help [command]
显示可用命令列表
param.set param value
给参数设定值,参见参数列表
param.show [-l] [param]
显示运行时参数和值的列表
如果使用
-l
选项,列表会对每个参数做一些描述。
如果
param
被指定,那么只显示指定的
param
。
ping [timestamp]
Ping varnishd
的进程,查看连接是否存活。
purge field operator argument [&& field operator argument […]]
匹配
purge
表达式的内容,马上失效。
purge.list
显示
purge
列表
所有在
cache
中的请求目标和
purge.list
相比,如果
cache
中的目标比匹配
的
purge list
旧,就会考虑清楚这些旧的目标,从后端服务器获取新的代替。
如果一个清洗表达式比
cache
中的目标就,那么就会从
purge list
中删除
它们。
purge.url regexp
使缓存中匹配表达式的
URL
马上失效。
quit
关闭
varnish admin
的连接。
start
如果
varnish cache
程序没有运行,在这里可以启动这个进程。
stats
显示简要的统计信息。
所有的数据是服务器启动后开始统计,更好的观察方式是使用
varnishstat
工具。
status
检查
varnish cache
进程的状态。
stop
停止
varnish cache
进程
url.purge regexp
弃用,使用
purge.url
代替。
vcl.discard configname
丢弃指定的
VCL
配置文件。
vcl.inline configname vcl
创建一个
vcl
配置文件,
configname
是配置文件的名字,
vcl
是配置文件
的
VCL
代码。
vcl.list
显示当前可用的
vcl
列表,
active
表示当前使用的配置文件。
vcl.load configname filename
创建一个新的配置文件,
configname
是配置的名字,
filename
是
vcl
配置
文件的路径和名字。
vcl.show config
显示
vcl
配置文件的源代码。
vcl.use configname
对所有新的请求指定
vcl
配置文件,已经存在的请求使用抵达时的配置文
件。