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

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

安装

安装pcre

如果没有安装pcre,在编译varnish 2.0以上版本时,会提示找不到pcre库,而pcre库是为了兼容正则表达式,所以必须先安装pcre库。下面是pcre的安装过程:

[[email protected] ~]# tar -zxvf pcre-7.9.tar.gz
[[email protected] ~]# cd pcre-7.9/
[[email protected] ~]# ./config  --prefix=/usr/local/pcre/
[[email protected] ~]# make && make install

安装Varnish

这里将Varnish安装到/usr/local/目录下,操作如下:

[[email protected] ~]# tar -zxvf varnish-2.1.2.tar.gz
[[email protected] ~]# cd varnish-2.1.2
[[email protected] ~]# export PKG_CONFIG_PATH=/usr/local/pcre/lib/pkgconfig
[[email protected] ~]# ./configuer  --prefix=/usr/local/varnish >--enable-dependency-tracking
>--enable-debugging-symbols
>--enable-developer-warnings
[[email protected] ~]# make
[[email protected] ~]# make install
[[email protected] ~]# cp redhat/varnish.initrc   /etc/init.d/varnish
[[email protected] ~]# 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技术教程书籍,为开源技术爱好者努力做得更多更好:http://www.linuxprobe.com/

时间: 2024-10-29 10:49:03

高性能HTTP加速器Varnish安装与配置的相关文章

高性能HTTP加速器Varnish安装与配置(包含常见错误)

Varnish是一款高性能的开源HTTP加速器.挪威最大的在线报纸Verdens Gang使用3台Varnish取代了原来的12台Squid,性能竟然比曾经更好.Varnish 的作者Poul-Henning Kamp是FreeBSD的内核开发人员之中的一个.他觉得如今的计算机比起1975年已经复杂很多.在1975年时.储存媒介仅仅有两种:内存与硬盘.但如今计算机系统的内存除了主存外,还包含了cpu内的L1.L2,甚至有L3快取. 硬盘上也有自己的快取装置.因此Squid cache自行处理物件

高性能缓存加速器varnish(概念篇)

高性能缓存加速器varnish(概念篇) 一.varnish简介 varnish是一款高性能的开源HTTP加速器,现在很多门户网站已经部署了varnish,并且反应都很好,甚至反应比squid还稳定,且效率更高,资源暂用更少. 作者Poul-Henning Kamp是FreeBSD的内核开发者之一.Varnish采用全新的软件体系架构,和现在的硬件提交配合紧密.在1975年时,储存媒介只有两种:内存与硬盘.但现在计算 机系统的内存除了主存外,还包括了cpu内的L1.L2,甚至有L3快取.硬盘上也

varnish安装及配置详解

varnish系统架构: varnish主要运行两个进程:Management进程和Child进程(也叫Cache进程). Management进程主要实现应用新的配置.编译VCL.监控varnish.初始化varnish以及提供一个命令行接口等.Management进程会每隔几秒钟探测一下Child进程以判断其是否正常运行,如果在指定的时长内未得到Child进程的回应,Management将会重启此Child进程. Child进程包含多种类型的线程,常见的如:Acceptor线程:接收新的连接

高性能HTTP加速器varnish实践

一,varnish介绍及特点 varnish是一款高性能的.轻量的.开源的反向代理服务器和HTTP加速器.Varnish代码量不大,先进的设计理念和成熟的设计框架是它的主要特征.目前在缓存工具的选择上Varnish由于在本身的技术上优势已经超越传统的缓存工具squid,越来越受到青睐.以下是varnish的一些特点介绍:      1,基于内存缓存,重启后数据消失      2,利用虚拟内存方式,I/O性能好      3,支持设置0-60秒的精确缓存时间      4,配置管理灵活     

Varnish安装与配置

安装 文件总数为5个,包含2个安装文件,1个安装脚本,2个配置文件. 上传至静态缓存服务器 /home/{user}/ Varnish目录下(使用root用户,否则安装过程中权限不够) pcre-8.35.tar.gz #Varnish依赖库 varnish-3.0.5.tar.gz #Varnish安装文件 varnish_init.sh #Varnish安装脚本 varnish #Varnish启动配置文件 default.vcl #Varnish主配置文件 依赖库安装 Varnish用到了

搭建cdn的高性能HTTP加速器Varnish服务器

CND的简单了解: 内容分发网络(CDN)是一种新型网络构建方式,它是为能在传统的IP网发布宽带丰富媒体而特别优化的网络覆盖层:而从广义的角度,CDN代表了一种基于质量与秩序的网络服务模式. CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡.内容分发.调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率.CDN的关键技术主要有内容存储和分发技术. CDN的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中

vcl状态引擎介绍,varnish安装配置

内容概览: 1.varnish介绍2.Varnish程序结构3.Vcl内置函数和处理流程(状态引擎)4.配置拓扑和环境说明5.varnish安装和简单配置6.移除单个缓存对象7.在vcl中使用条件判断8.动静分离9.健康状态检测10.负载均衡11.varnish的线程模型 1.varnish介绍 Varnish是一款高性能的开源HTTP加速器(其实就是带缓存的反向代理服务),可以把http响应内容缓存到内存或文件中,从而提高web服务器响应速度.与传统的 squid 相比,varnish 具有性

高性能缓存服务器Varnish架构配置

Varnish跟Squid都是一款内容加速缓存服务器,我们可以使用它们来对我们的网页内容进行缓存,以此来从某个方面提高用户体验度,提升网站整体的抗压能力. 目前自建的CDN中,有很多都是基于Squid.Varnish等相关缓存软件,经过内部的二次开发实现了更好的内容加速及管理. 那今天我们一起来学习一下Varnish简单的搭建及日常的维护,深入的东西后期分享,跟大家一起来交流.这里直接上Shell脚本自动初始化并安装: #!/bin/sh #auto install varnish #2014-

高性能集群软件Keepalived的介绍以及安装与配置

Keepalived介绍: Keepalived是Linux下一个轻量级的高可用解决方案:起初是为LVS设计的,专门用来监控集群系统中各个服务节点的状态.它根据TCP/IP参考模型的第三.第四和第五层交换机机制检测每个服务节点的状态,如果某个服务节点出现异常,或工作出现故障,Keepalived将检测到,并将出现故障的服务节点从集群系统中剔除,而在故障节点恢复正常后,Keepalived又可以自动将此服务节点重新加入服务器集群中,这些工作全部自动完成,不需要人工干涉,需要人工完成的只是修复出现故