Linux---CDN高速缓存器 Varnish

##########################################
########## CDN高速缓存器Varnish ###########
##########################################
主机环境: rhel6 selinux and iptables disabled
实验主机: Server1:172.25.27.1 作为Varnish服务器
   Server2:172.25.27.2 作为Apache服务端
  Server3:172.25.27.3 作为Apache服务端


一、CDN定义

  CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。
  CDN的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求。

二、CDN高速缓存器Varnish定义
  Varnish是高性能的开源HTTP加速器和反向代理服务器,其采用全新的软件体系机构,和现在的硬件体系紧密结合,与传统的squid相比,varnish具有性能更高、速度更快、管理更加方便等诸多优点。

三、Varnish处理HTTP请求基本流程图


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

(1)Receive 状态(vcl_recv):也就是请求处理的入口状态,根据 VCL 规则判断该请求应该是Pass(vcl_pass)或Pipe(vcl_pipe),或者进入 Lookup(本地查询)。
(2)Lookup 状态:进入此状态后,会在 hash 表中查找数据,若找到,则进入 Hit (vcl_hit)状态,否则进入 miss (vcl_miss)状态。
(3)Pass 状态(vcl_pass):在此状态下,会进入后端请求,即进入 fetch (vcl_fetch)状态。
(4)Fetch 状态(vcl_fetch):在 Fetch 状态下,对请求进行后端的获取,发送请求,获得数据,并进行本地的存储。
Deliver 状态(vcl_deliver):将获取到的数据发送给客户端,然后完成本次请求。

四、Varnish服务器的搭建及配置
在server1操作如下(下文未具体说明则默认在server1中修改):
1.安装

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



2.修改配置文件


######## 配置varnish 服务端口 ########
vim /etc/sysconfig/varnish # 编辑/etc/sysconfig/varnish文件
66 VARNISH_LISTEN_PORT=80 # 改变Varnishi服务端口



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

vim /etc/varnish/default.vcl # 编辑/etc/varnish/default.vcl文件
7 backend default {
8 .host = "172.25.27.2"; # 主机地址
9 .port = "80"; # 服务端口
/etc/init.d/varnish start # 开启服务



在server2,3操作如下:

yum install -y httpd

/etc/init.d/httpd start
cd /var/www/html
vim index.html
<h1>server2</h1> # server2默认发布页面
<h1>server3</h1> # server3默认发布页面

Server2:


Server3:</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值