当前位置: 首页 > Linux学院 > 网络服务 > Web > 带你认识Varnish高性能HTTP加速器之配置

带你认识Varnish高性能HTTP加速器之配置

2013-08-15 08:37 来源:风信网 作者:末信 人气指数: 我要评论

风信网(ithov.com)原创文章:以下内容为关于配置Varnish,我们将从三个方面来进行说明,包括VCL使用说明、配置一个简单的Varnish实例及Varnish对应多台Web服务器的配置实例操作,通过以上的学习你可以清楚的掌握Varnish各个参数的说明及使用。

VCL使用说明

    VCL,即为Varnish Configuation Language,用来定义Varnish的存取策略。VCL语法比较简单,跟C和Perl比较相似,可以使用指定运算符“=”、比较运算符“==”、逻辑运算符“!,&&,!!”等形式;还支持正则表达式和用“~”进行ACL匹配运算;还可以使用“set"这样的关键字来指定变量。

    需要注意的是,“\”字符在VCL里没有特别的含义,这点与其他语言略有不同。另外,VCL只是配置语言,并不是真正的编程语言,没有循环,也没有自定义变量。

    在讲述varnish配置之前,首先需要了解Varnish的配置语法.即VCL。下面对VCL常用的一些内置函数和公用变量进行详细介绍。

1.VCL内置函数

    (l) vcl_recv函数

    用于接收和处理请求。当请求到达并被成功接收后被调用,通过判断请求的数据来决定如何处理请求。
    此函数一般以如下几个关键字结束。

    口pass:表示进入pass模式,把请求控制权交给vcl_pass函数。
    口pipe:表示进入pipe模式,把请求控制权交给vcl_pipe函数。
    口error code [reason]:表示返回“code”给客户端,并放弃处理该请求。“code”是错误标识,例如200和405等。“reason”是错误提示信息。

    (2) vcl_pipc函数

    此函数在进入pipe模式时被调用,用于将请求直接传递至后端主机,在请求和返回的内容没有改变的情况下,将不变的内容返回给客户端,直到这个连接被关闭。
    此函数一般以如下几个关键字结束。
    口error code [rcason]。
    口pipe。

    (3) vcl_pass函数

    此函数在进入pass模式时被调用,用予将请求直接传递至后端主机。后端主机在应答数据后将应答数据发送给客户端,但不进行任何缓存,在当前连接下每次都返回最新的内容。
    此函数一般以如下几个关键字结束。
    口error code [reason]。
    口pass。

    (4) lookup

    表示在缓存中查找被请求的对象,并且根据查找的结果把控制权交给函数vcl_hit或函数vcl_miss。

    (5) vcl_hit函数

    在执行lookup指令后,在缓存中找到请求的内容后将自动调用该函数。
    此函数一般以如下几个关键字结束。
    口deliver:表示将找到的内容发送给客户端,并把控制权交给函数vcl_deliver。
    口error code [reason]。
    口pass。

    (6) vcl_miss函数

    在执行lookup指令后,在缓存中没有找到请求的内容时自动调用该方法。此函数可用于判断是否需要从后端服务器获取内容。
    此函数一般以如下几个关键字结束。
    口fetch:表示从后端获取请求的内容,并把控制权交给vcl_fetch函数。
    口error code [reason]。
    口pass。

    (7) vcl_fetch函数

    在后端主机更新缓存并且获取内容后调用该方法,接着,通过判断获取的内容来决定是将内容放入缓存,还是直接返回给客户端。
    此函数一般以如下几个关键字结束。
    口error code [reason]。
    口pass。
    口deliver。

    (8) vcl_deliver函数

    将在缓存中找到请求的内容发送给客户端前调用此方法。
    此函数一般以如下几个关键字结束。
    口error code [reason]。
    口deliver。

    (9) vcl_timeout函数

    在缓存内容到期前调用此函数。
    此函数一般以如下几个关键字结束。
    口discard:表示从缓存中清除该内容。
    口fetch。

    (10) vcl_discard函数

    在缓存内容到期后或缓存空间不够时,自动调用该函数。
    此函数一般以如下几个关键字结束。
    口keep:表示将内容继续保留在缓存中。
    口discard。

大家感兴趣的内容
小伙伴最爱的新闻
小伙伴还关注了以下信息
小伙伴关注的焦点

小伙伴都在关注的热门词

新服 缤纷活动 航海世纪 芈月传 暗黑道具 萌乐网 苹果发布会 最新谍照 三国令 剑雨江湖 怎样修炼战骑 页游 怎样修炼伙伴 木甲世界 仙侠道2 推黑科技 页游模式 武圣试炼场 街机玩法 蓝月传奇 个人BOSS玩法 哥们网 九阴绝学 仗剑出鞘 全新模式 范伟打天下 全新元神玩法 七大神兵简介 新手攻略 跑腿任务 门派五行 城战礼包 页游界 泥石流 傅园慧 经典网页游戏 耐玩 盘点 玉石攻略 提升角色 大黑 实装属性 神兵攻略 问鼎莽荒 莽荒纪 手持神兵 土豪梦 万世 开学清单 财富赚不停 天书世界 大黑游戏 资源战场 ppwan 天问 激战 全国大战 雄霸一方 新增宠物技能 绝对小能手 花千骨 三尾章鱼 风色轨迹 双枪手 弑之神 缤纷好礼 惊喜六重连 帮会 中秋福利 自制月饼 九阴真经 玩家 五周年纪念 纪念银币 名动三界 新服资料片 画江山 勇战妖魔 邪恶势力 上古降魔 老司机玩法 坐骑揭秘 黑科技 竞技场攻略 铁血皇城 披风玩法 书剑恩仇录 装备强化攻略 野外BOSS玩法 全网曝光 赤壁传说 半回合制国 ACT 奇珍商城 热血战歌 传奇宝藏抽奖 打开方式 门徒 门徒获取玩法 三大萌宠简介