共计 2470 个字符,预计需要花费 7 分钟才能阅读完成。
导读 | Varnish 是一款高性能且开源的反向代理服务器和 HTTP 加速器,它采用了全新的软件体系结构,和现在的硬件体系配合紧密。下面就由我给大家简单说说他的安装与配置。 |
如果没有安装 pcre, 在编译 varnish 2.0 以上版本时,会提示找不到 pcre 库,而 pcre 库是为了兼容正则表达式,所以必须先安装 pcre 库。下面是 pcre 的安装过程:
[root@varnish-server ~]# tar -zxvf pcre-7.9.tar.gz
[root@varnish-server ~]# cd pcre-7.9/
[root@varnish-server ~]# ./config --prefix=/usr/local/pcre/
[root@varnish-server ~]# make && make install
这里将 Varnish 安装到 /usr/local/ 目录下,操作如下:
[root@varnish-server ~]# tar -zxvf varnish-2.1.2.tar.gz
[root@varnish-server ~]# cd varnish-2.1.2
[root@varnish-server ~]# export PKG_CONFIG_PATH=/usr/local/pcre/lib/pkgconfig
[root@varnish-server ~]# ./configuer --prefix=/usr/local/varnish \
>--enable-dependency-tracking
>--enable-debugging-symbols
>--enable-developer-warnings
[root@varnish-server ~]# make
[root@varnish-server ~]# make install
[root@varnish-server ~]# cp redhat/varnish.initrc /etc/init.d/varnish
[root@varnish-server ~]# cp redhat/varnish.sysconfig /etc/syscinfug/varnish
其中,“PKG_CONFIG_PATH”是指定 Varnish 查找 pcre 库的路径,至此,Varnish 安装完毕。
由于篇幅限制,在这儿是介绍 VCL 内置函数的意义,请大家见谅!
用于接受和处理请求。当请求达到并被成功接收后被调用,通过判断请求的数据来决定如何处理请求。
此函数一般以如下几个关键字结束:
>pass: 表示进入 pass 模式,把请求控制权交给 vcl_pass 函数。>pipe:表示进入 pipe 模式,请把请求控制权交给 vcl_pipe 函数。>error code [reason]:表示返回“code”给客户端,并放弃处理该请求。
此函数在进入 pipe 模式时被调用,用于将请求直接传递至后端主机,在请求和返回的内容没有改变的情况下,将不变的内容返回给客户端,直到这个连接被关闭。
此函数一般以如下几个关键字结束:
>pipe:表示进入 pipe 模式,请把请求控制权交给 vcl_pipe 函数。>error code [reason]:表示返回“code”给客户端,并放弃处理该请求。
此函数在进入 pass 模式时被调用,用于将请求直接传递至后端主机。后端主机在应答数据后将应答数据发送给客户端,但不进行任何缓存,在当前连接下每次都返回最新的内容。
此函数一般以如下几个关键字结束:
>pass。>error code [reason]:表示返回“code”给客户端,并放弃处理该请求。
表示在缓存中查找被请求的对象,并且根据查找的结果把控制权交给 vcl_hit 或者函数 vcl_miss。
在执行 lookup 指令后,在缓存中找到请求的内容后将自动调用该函数。
此函数一般以如下几个关键字结束:
>pass: 表示进入 pass 模式,把请求控制权交给 vcl_pass 函数。>deliver:表示将找到的内容发送给客户端,并把控制权交给 vcl_deliver。>error code [reason]:表示返回“code”给客户端,并放弃处理该请求。
在执行 lookup 指令后,在缓存中没有找到请求的内容时自动调用该方法。此函数可用于判断是否需要从后端服务器获取内容。
此函数一般以如下几个关键字结束:
>pass。>fetch:表示从后端获取请求的内容,并且把控制权交给 vcl_fetch。>error code [reason]:表示返回“code”给客户端,并放弃处理该请求。
在后端主机更新缓存并且获取内容后调用该方法,接着,通过判断获取的内容来决定是将内容放入缓存,还是直接返回给客户端。
此函数一般以如下几个关键字结束:
>pass。>deliver:表示将找到的内容发送给客户端,并把控制权交给 vcl_deliver。>error code [reason]:表示返回“code”给客户端,并放弃处理该请求。
将在缓存中找到请求的内容发送给客户端前调用该方法。
此函数一般以如下几个关键字结束:
>deliver:表示将找到的内容发送给客户端,并把控制权交给 vcl_deliver。>error code [reason]:表示返回“code”给客户端,并放弃处理该请求。
在缓存内容到期前调用该函数。
此函数一般以如下几个关键字结束:
>descard:表示从缓存中清楚该内容。>fetch
在缓存内容到期后或缓存空间不足时,自动调用该函数。
此函数一般以如下几个关键字结束:
>descard
>keep:表示将内容继续保留在缓存中。
本文原创地址:https://www.linuxprobe.com/varnish-installation-configuration.html 作者:冯琪,审核员:逄增宝