本文共 1435 字,大约阅读时间需要 4 分钟。
近来听说了varnish这个东东,看描述说比squid性能强不少,但是国内知道这个玩意的人少上加少,所以特意翻译一下方便varnish这个东西再国内的推广.另外也被自己以后查阅提供点方便.
名称: VCL - Varnish Configuration Language Varnish配置语言
描述:这里没啥意思,如果大家感兴趣的话安装完varnish以后man 7 vcl
语法:
VCL的语法非常简单,语法跟C和perl有点相似.每个指令是以分号结束,同时可以按照你自己的参数来选择跟C,C++,perl相同的注释语法.VCL不但有跟C语言类似的指定运算符(=),比较运算符(==),逻辑运算符(!,&&,!!)以外,vcl还支持正则表达样和用~进行的ACL匹配运算.
不像C和Perl,反斜杠(/)字符在VCL中没有什么特别的含义,VCL使用%xx这个代表URLS的排除结构.
可以使用set这样的关键字引进分配,他们并非用户定义的变量,这个值可以仅分配给附加给backend(后端)请求或者文本类的变量.大多数的变量需要指定,这些值必须有同样单元后缀.
VCL有if,但是没有循环语句。
用include语句可以指定其他的VCL文件并且包含再当前VCL配置中.
后端声明:
后端声明创建和初始化一个以backend命名的类:
backend www {
.host = "";
.port = "http"; } 后端类也能再请求的时候选择一个后端:if (req.http.host ~ "^(") {
set req.backend = www; }Directors 指导不同的后端是基于有一个在线的健康状态的.他们现在存在全的随机的指引方式.定义:
director b2 random {
.retries = 5; { /* We can refer to named backends */ .backend = b1; .weight = 7; } { /* Or define them inline */ .backend = { .host = "fs2"; } .weight = 3; } }随机指导
随机指导有一个.retries的参数,这个是指定有多少个个尝试找到一个工作的后端.默认和前面定义的后端数目相同。另外一个选择是.weight 这个参数指定了一部分的流量发送到指定的后端上.
后端探针
后端可以被检测他们是否是健康的状态,它使用req.backend.healthy来检测返回的状态..windows检测最后有多少polls.
backend www {
.host = ""; .port = "http"; .probe = { .url = "/test.jpg"; .timeout = 0.3 s; .window = 8; .threshold = 3; } }同时也能指定一个http的请求
backend www {
.host = ""; .port = "http"; .probe = { # NB: /r/n automatically inserted after each string! .request = "GET / HTTP/1.1" "Host: " "Connection: close"; } }ACLS
此教程来源于97xxoo教程网()查看完整的教程请点:
转载地址:http://jcmmb.baihongyu.com/