Chinaunix首页 | 论坛 | 博客
  • 博客访问: 404908
  • 博文数量: 39
  • 博客积分: 1046
  • 博客等级: 准尉
  • 技术积分: 895
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-10 16:50
文章分类

全部博文(39)

文章存档

2013年(8)

2012年(31)

分类: LINUX

2013-07-22 16:49:49

摘自:http://personball.github.io/web开发/2013/07/22/varnish-cache-notes/

安装,环境为ubuntu12,安装方法,参考:https://www.varnish-cache.org/installation/ubuntu  其他系统参考https://www.varnish-cache.org/docs

如果选择了这种直接从源安装的方式的话,就不要自己去编译了,以免出现意外(悲剧的我,varnishlog 有点问题,之前先编译安装了,再从源安装,出问题了)

安装完后,基本入门,参考varnish-book,在线版:https://www.varnish-software.com/static/book/index.html 页面旁边也有pdf版下载,不过要注册


主要理解下vcl 几个状态,主要是 vcl-recv 和 vcl-fetch 基本就够用了
vcl-recv  一般可以指定 使用哪个backend 可以设定 pass 规则
vcl-fetch  主要处理 缓存规则,设置缓存时间 beresp.ttl

1.手动清理缓存的命令(3.0版和以前有出入来着):

点击(此处)折叠或打开

  1. sudo varnishadm -T localhost:1234 ban.url .*$ -S /etc/varnish/secret
2.acl 只针对ip使用

3.如果提示 nothing to repeat error code 106 一般就意味着正则写错了
4.如果提示 unkown request error code 101 一般就意味着命令搞错了(ban代替了原先的purge)
5.req.url 不包含域名部分,域名部分是req.http.host
6.根据host清除指定页面缓存

点击(此处)折叠或打开

  1. varnishadm -T 127.0.0.1:2000 ban "req.http.host ~ www.domain.com$ && req.url ~ /1.html"
7.url大小写敏感问题,参考varnish的标准库:https://www.varnish-cache.org/docs/trunk/reference/vmod_std.html
vcl文件顶部添加 import std;
vcl_recv中第一行处理url :   set req.url=std.tolower(req.url);
其他遇到再添加


参考资料:http://blog.51yip.com/cache/618.html
http://anykoro.sinaapp.com/?p=261#1
阅读(1722) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册