varnish服务器

一.Varnish简述

varnish是一款高性能且开源的方向代理服务器和HTTP加速器,它的开发者poul-Henning kamp FreeBSD 核心的开发人员之一。varnish采用全新的软件体系机构,和现在的硬件体系配合紧密,varnish是一个轻量级的cache和反向代理软件。先进的设计理念和成熟的设计框架式varnish的主要特点。

二.varnish的特点

1、基于内存进行缓存,重启后数据将消失。

2、利用虚拟内存方式,I\O性能好。

3、支持设置0~60秒的精确缓存时间。

4、VCL配置管理比较灵活。

5、具有强大的管理功能,例如top、stat、admin、list 等。

6、状态机设计巧妙、结构清晰。

7、利用二叉堆管理缓存文件,可达到积极删除目的。

三.varnish处理缓存的过程

(1)Receive 状态,也就是请求处理的入口状态,根据 VCL 规则判断该请求应该是 Pass 或 Pipe,或者进入 Lookup(本地查询)。

(2)Lookup 状态,进入此状态后,会在 hash 表中查找数据,若找到,则进入 Hit 状态,否则进 入 miss 状态。

(3)Pass 状态,在此状态下,会进入后端请求,即进入 fetch 状态。

(4)Fetch 状态,在 Fetch 状态下,对请求进行后端的获取,发送请求,获得数据,并进行本地 的存储。

(5)Deliver 状态, 将获取到的数据发送给客户端,然后完成本次请求。

四.varnih的使用

实验所需环境:三台配置好网络的虚拟机,分别设置主机名为server1、server2、server3

1.安装服务

在server1中打开官网,下载rpm包进行安装

yum install varnish-3.0.5-1.el6.x86_64.rpm varnish-libs-3.0.5-1.el6.x86_64.rpm -y

2.配置服务

编辑系统配置文件,文件的参数需要根据实际的系统内核及系统还有相关硬件设定

vim /etc/security/limits.conf
写入:
varnish          -     nofile      6555       ##最大文件数
varnish          -     memlock     82000      ##最大内存空间
varnish          -     nproc       unlimited  ##子线程数

编辑服务配置文件

vim /etc/sysconfig/varnish      ##varnish的配置文件,配置 varnish 服务端口
VARNISH_LISTEN_PORT=80       ##varnish监听端口
vim
/etc/varnish/default.vcl ##配置一个后端服务器,缓存配置 backend default { .host = "172.25.3.2";      ##host指定要缓存的后端服务器地址 .port = "80"; }

3.启动服务

/etc/init.d/varnish start

4.测试

在server2中配置好http服务,并编写一个网页文件index.html,内容任意

在真机中打开浏览器输入server1的IP地址,可以看到server2中的发布页面内容

5.查看缓存命中情况

在varnish服务器上

vim default.vcl 
12 sub vcl_deliver {
13 if (obj.hits > 0) {
14 set resp.http.X-Cache = "HIT from westos cache";    #命中显示
15 }
16 else {
17 set resp.http.X-Cache = "MISS from westos cache";    ##没命中显示
18 }
19 return (deliver);
20 }
/etc/init.d/varnish reload   #varnish支持热插拔

6.清除缓存

varnishadm ban.url .*$       ##清除所有

varnishadm ban.url /index.html  ##除 index.html 页面缓存

varnishadm ban.url /admin/$      清除 admin 目录缓存

猜你喜欢

转载自www.cnblogs.com/wf-aiyouwei/p/9691161.html
今日推荐