您好,登录后才能下订单哦!
这篇文章主要介绍如何安装与配置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”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。