一.Varnish概念

Varnish是一个轻量级的Cache和反向代理软件,先进的设计理念和成熟的设计框架是Varnish的主要特点,现在的Varnish总共代码量不大,功能上虽然在不断改进,但是还需要继续丰富和加强。下面总结了Varnish的一些特点:
1)是基于内存缓存,重启后数据将消失。
2)利用虚拟内存方式,io性能好。
3)支持设置0~60秒内的精确缓存时间。
4VCL配置管理比较灵活。
532位机器上缓存文件大小为最大2G
6)具有强大的管理功能,例如topstatadminlist等。
7)状态机设计巧妙,结构清晰。
8)利用二叉堆管理缓存文件,达到积极删除目的。


二.处理流程

Linux的企业-Varnish

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


三.安装


1.配置环境

客户机:172.25.29.250

varnish服务器:172.25.29.1

http服务器www.westos.org-server2:172.25.29.2

http服务器bbs.westos.org:172.25.29.3


2.安装varnish包

Linux的企业-Varnish


3.配置varnish服务

varnish服务端口为80,但要注意http端口80,不要开启httpd服务否则有矛盾

Linux的企业-Varnish


4.配置后端服务器web1

Linux的企业-Varnish

Linux的企业-Varnish

Linux的企业-Varnish


5.配置server2  www.westos.org-server2

Linux的企业-Varnish


6.客户机测试:

Linux的企业-Varnish

四.查看缓存命中情况

1.添加命中配置文件

server1:vim /etc/varnish/default.vcl

Linux的企业-Varnish


客户机测试:

第一次未命中MISS

Linux的企业-Varnish

第二次命中HIT

Linux的企业-Varnish


2.清除缓存

varnishadm ban.url .*$                 清除所有缓存    

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

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


Linux的企业-Varnish


清除后Age为0

Linux的企业-Varnish


五.定义多个不同域名站点的后端服务器


1.配置server1

vim /etc/varnish/default.vcl

Linux的企业-Varnish

Linux的企业-Varnish

Linux的企业-Varnish

2.配置server3的http服务

Linux的企业-Varnish



3.客户机测试

Linux的企业-Varnish

Linux的企业-Varnish

六.负载均衡


1.配置server1

vim /etc/varnish/default.vcl


director lb round-robin      将多个后端聚合为一个组lb进行轮询

set req.backend = lb         当访问www.westos.org时访问lb组
return (pass)                     为了测试方便,不进行缓存


Linux的企业-Varnish


2.客户机测试:server2与server3轮询

Linux的企业-Varnish


七.varnish CDN 推送

1.解压bansys.zip((yum install unzip -y)

Linux的企业-Varnish


2.安装php

Linux的企业-Varnish


3.在server1上安装httpd,设置访问端口为8080

Linux的企业-Varnish


4.配置php文件  vim /var/www/html/config.php

Linux的企业-Varnish



5.配置server1文件

#bansys 有两种工作模式,分别是:telnet 和 http 模式。
#telnet 模式需要关闭 varnish 服务管理端口的验证,注释掉/etc/sysconfig/varnish 文件中的 “ -S ${VARNISH_SECRET_FILE}”这行,重启 varnish 服务即可。


#如果是 http 模式需要对 varnish 做以下设置:

acl westos                                 设置访问控制

Linux的企业-Varnish

Linux的企业-Varnish

6.重新加载

Linux的企业-Varnish


7.客户机测试

Linux的企业-Varnish


Linux的企业-Varnish



      本文转自一百个小排 51CTO博客,原文链接:http://blog.51cto.com/anfishr/1965124,如需转载请自行联系原作者







相关文章:

  • 2021-07-29
  • 2022-01-22
  • 2021-07-22
  • 2021-08-12
  • 2021-04-09
  • 2022-12-23
  • 2021-09-03
猜你喜欢
  • 2021-05-12
  • 2021-09-30
  • 2021-06-07
  • 2021-08-29
  • 2021-05-24
  • 2021-06-01
  • 2021-10-05
相关资源
相似解决方案