博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
高性能HTTP加速器Varnish安装与配置
阅读量:5795 次
发布时间:2019-06-18

本文共 2557 字,大约阅读时间需要 8 分钟。

导读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:表示将内容继续保留在缓存中。

免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:https://www.linuxprobe.com/

转载地址:http://pbbfx.baihongyu.com/

你可能感兴趣的文章
运用SG在IBMX系列服务器上安装WIN2003
查看>>
my.cnf性能调优工具tuning-primer.sh
查看>>
MHA使用手册一:概述(基于0.56版本)
查看>>
年底了,给MySQL做个例行巡检吧
查看>>
《大道至简》第一章——编程的精义_读后感(Java伪代码形式)
查看>>
Python 爬虫IP代理池的实现
查看>>
CentOS 7 通过 持续集成包 安装最新的 Mono
查看>>
“酸甜苦辣”说华育(我一个学员的学习心得)
查看>>
思科路由器的密码恢复
查看>>
监控开发之用python扩展dstat插件自定义实时监控
查看>>
向量时钟算法简介——本质类似MVCC
查看>>
在Ubuntu为Android硬件抽象层(HAL)模块编写JNI方法提供Java访问硬件服务接口
查看>>
实战OCS 2007、Exchange 2007 、VOIP整合(一)
查看>>
配套自测连载(三)
查看>>
微软开放 Microsoft Office 二进制文档格式规范
查看>>
PS处理图片被锁定无法编辑问题
查看>>
H. 硬币的水问题II
查看>>
Async Console Programs 异步控制台程序
查看>>
持续集成之hudson的构建任务调度
查看>>
Android消息通知
查看>>