码迷,mamicode.com
首页 > 其他好文 > 详细

varnish反向代理安装与配置

时间:2014-08-11 15:20:03      阅读:365      评论:0      收藏:0      [点我收藏+]

标签:varnish cdn推送

主机环境: rhel6 selinux and iptables disabled
实验主机: 192.168.2.36 varnish
192.168.2.46 apache
192.168.2.38 apache
框架图:

bubuko.com,布布扣

VCL 处理流程图:

bubuko.com,布布扣

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

1. 安装
http://repo.varnish-cache.org/redhat/varnish-3.0/el6/x86_64/
rpm -ivh varnish-3.0.5-1.el6.x86_64.rpm varnish-libs-3.0.5-1.el6.x86_64.rpm
2. 配置
# vi /etc/varnish/default.vcl
###配置一个后端服务器
backend web1 {
.host = "192.168.0.188";
.port = "80";
}
###配置 varnish 服务端口
# vi /etc/sysconfig/varnish
VARNISH_LISTEN_PORT=80
###查看缓存命中情况
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);
}
# service varnish start

在desktop46上安装httpd 并启动

#curl -I 192.168.2.36

bubuko.com,布布扣未命中

#curl -I 192.168.2.36

bubuko.com,布布扣命中

###通过 varnishadm 手动清除缓存
# varnishadm ban.url .*$ #清除所有
# varnishadm ban.url /index.html #清除 index.html 页面缓存
# varnishadm ban.url /admin/$ #清除 admin 目录缓存
###定义多个不同域名站点的后端服务器
bubuko.com,布布扣

#当访问 www.westos.org 域名时从 web1 上取数据,访问 bbs.westos.org 域名时到 web2 取数据,
访问其他页面报错。

bubuko.com,布布扣

#service varnish reload

###定义负载均衡
#定义健康检查
bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

#/etc/init.d/varnish reload

在desktop38上配置虚拟主机名vim /etc/httpd/conf/httpd.conf

bubuko.com,布布扣

在desktop38的/var/www/下创建web2目录在里面写一个测试文件

bubuko.com,布布扣

#/etc/init.d/httpd restart  

然后测试:

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

###varnish cdn 推送平台
http://code.google.com/p/varnish-php-bansys/
把这个解压到 desktop36 的/var/www/html/

bubuko.com,布布扣

然后编辑config.php

#只保留如下设置,其余注释掉
bubuko.com,布布扣

#编辑desktop36的httpd配置文件

#vim /etc/init.d/httpd/conf/httpd.conf

把监听端口改为 8080 不然就和varnish的端口起冲突

推送模式是http的话对varnish做如下配置:

bubuko.com,布布扣

#/etc/init.d/varnish reload

然后在firefox上测试:

bubuko.com,布布扣

bubuko.com,布布扣

OK!!


本文出自 “9244137” 博客,请务必保留此出处http://9254137.blog.51cto.com/9244137/1538500

varnish反向代理安装与配置,布布扣,bubuko.com

varnish反向代理安装与配置

标签:varnish cdn推送

原文地址:http://9254137.blog.51cto.com/9244137/1538500

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!