Varnish

Varnish

一.准备环境

三台6.5企业版虚拟机

同网段IP

防火墙与selinux关闭(永久关闭防火墙,注意6.5与7的对于服务操作启动的区别)

wps4B6D.tmp

再有一台真机可以做测试

主机环境:172.25.47.250

wps4B6E.tmp

实验主机:

172.25.47.1   varnish

wps4B6F.tmp

172.25.47.2   apache

wps4B70.tmp

172.25.47.3  apache

wps4B71.tmp

二.Varnish 原理

wps4B72.tmp

wps4B73.tmp

处理过程大致分为如下几个步骤:

(1)Receive 状态,也就是请求处理的入口状态,根据 VCL 规则判断该请求应该是 Pass 或

Pipe,或者进入 Lookup(本地查询)。

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

入 miss 状态。

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

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

的存储。

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

三.Varnish 操作

1.安装

Yum 仓库的配置以及镜像的挂载

http://repo.varnish-cache.org/redhat/varnish-3.0/el6/x86_64/

yum localinstall -y varnish-3.0.3-1.el6.x86_64.rpm varnish-libs-3.0.3-1.el6.x86_64.rpm

2.配置文件

针对varnish:

Vim  /etc/varnish/default.vcl

#####配置一个后端服务器

wps4B74.tmp

#####配置varnish服务端口

vim /etc/sysconfig/varnish

wps4B75.tmp

打开该服务,查看端口状态

/etc/init.d/varnish start

netstat -antlp

#####向配置文件中添加判断缓存命中的情况

sub vcl_deliver {

if (obj.hits > 0) {

set resp.http.X-Cache = "HIT from westos cache";

}

else {

set resp.http.X-Cache = "MISS from westos cache";

}

return (deliver);

}

wps4B76.tmp

#####重新加载该服务

/etc/init.d/varnish reload

针对172.25.47.2:

安装apache服务,并打开服务

在默认发布目录中写个文件

wps4B77.tmp

针对测试机 172.25.47.250:

#####测试缓存命中

wps4B87.tmp

#####未命中

wps4B88.tmp

######命中

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章