如何安装与配置Varnish
这篇文章主要介绍如何安装与配置Varnish,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
Varnish作用是访问web速度的web加速器,被安装在web服务器之前,从而缓存web服务器的应用程序和数据,最后相应客户的请求。 功能与Squid服务器相似,都可以用来做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:表示将内容继续保留在缓存中。
以上是“如何安装与配置Varnish”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网行业资讯频道!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341