本节包含了怎样经过varnish配置语言vcl来通知varnish如何处理http请求。后端
varnish是高度结构化的系统。大多数其余的系统使用配置指令,在那里你基本上打开和关闭大量的开关。而咱们选择使用领域特定语言,被叫作VCL,来完成以前的功能。缓存
每一个进入的请求流经过varnish,同时你能够支配如何经过VCL代码来处理请求。你能够让某些后端直接处理请求,你能够改变请求和响应,或者让varnish拥有各类各样动做依赖于特定的处理请求和响应的阶段。这些特性让Varnish变成特别强力的http程序,而不单单是缓存。性能
varnish转换VCL成二进制代码,当请求到达这些代码将被执行。VCL对varnish的性能损耗是能够忽略不计的。ui
VCL文件将子程序组织在一块儿。不一样的子程序在不一样阶段被执行。一个是在咱们收到请求时执行,其余的当从后端收到文件时执行。spa
若是你在你的子程序不调用某个动做,varnish将执行一些built-in(内建)的VCL代码。你能够看到这些内建的代码在builtin.vcl中注释的部分code
本节包含如下:server
VCL Syntax Built in subroutines Request and response VCL objects actions Backend servers Multiple backends Backends and virtual hosts in Varnish Directors Health checks Hashing Misbehaving servers Using inline C to extend Varnish VCL Examples Device detection