阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

高性能HTTP加速器Varnish安装与配置

32次阅读
没有评论

共计 2470 个字符,预计需要花费 7 分钟才能阅读完成。

导读 Varnish 是一款高性能且开源的反向代理服务器和 HTTP 加速器,它采用了全新的软件体系结构,和现在的硬件体系配合紧密。下面就由我给大家简单说说他的安装与配置。
安装
安装 pcre

如果没有安装 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

这里将 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 内置函数的意义,请大家见谅!

vcl_recv 函数

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

>pass: 表示进入 pass 模式,把请求控制权交给 vcl_pass 函数。>pipe:表示进入 pipe 模式,请把请求控制权交给 vcl_pipe 函数。>error code [reason]:表示返回“code”给客户端,并放弃处理该请求。
vcl_pipe 函数

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

>pipe:表示进入 pipe 模式,请把请求控制权交给 vcl_pipe 函数。>error code [reason]:表示返回“code”给客户端,并放弃处理该请求。
vcl_pass 函数

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

>pass。>error code [reason]:表示返回“code”给客户端,并放弃处理该请求。
lookup

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

vcl_hit 函数

在执行 lookup 指令后,在缓存中找到请求的内容后将自动调用该函数。
此函数一般以如下几个关键字结束:

>pass: 表示进入 pass 模式,把请求控制权交给 vcl_pass 函数。>deliver:表示将找到的内容发送给客户端,并把控制权交给 vcl_deliver。>error code [reason]:表示返回“code”给客户端,并放弃处理该请求。
vcl_miss 函数

在执行 lookup 指令后,在缓存中没有找到请求的内容时自动调用该方法。此函数可用于判断是否需要从后端服务器获取内容。
此函数一般以如下几个关键字结束:

>pass。>fetch:表示从后端获取请求的内容,并且把控制权交给 vcl_fetch。>error code [reason]:表示返回“code”给客户端,并放弃处理该请求。
vcl_fetch 函数

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

>pass。>deliver:表示将找到的内容发送给客户端,并把控制权交给 vcl_deliver。>error code [reason]:表示返回“code”给客户端,并放弃处理该请求。
vcl_deliver 函数

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

>deliver:表示将找到的内容发送给客户端,并把控制权交给 vcl_deliver。>error code [reason]:表示返回“code”给客户端,并放弃处理该请求。
vcl_timeout 函数

在缓存内容到期前调用该函数。
此函数一般以如下几个关键字结束:

>descard:表示从缓存中清楚该内容。>fetch
vcl_discard 函数

在缓存内容到期后或缓存空间不足时,自动调用该函数。
此函数一般以如下几个关键字结束:

>descard
>keep:表示将内容继续保留在缓存中。

本文原创地址:https://www.linuxprobe.com/varnish-installation-configuration.html 作者:冯琪,审核员:逄增宝

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-24发表,共计2470字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中