varnish 配置使用 Chrome,iphone,android 请求响应各自的页面

简单拓扑如下

后端服务器上有4个网页文件,每个文件分别如下,每个文件都对应相应的客户端请求

index.html

chrome.html

admroid.html

iphone.html

varnish 下载区 http://repo.varnish-cache.org/

这里使用的软件版本

varnish-3.0.5-1.el6.x86_64.rpm                 提供varnish主程序

varnish-docs-3.0.5-1.el6.x86_64.rpm        提供varnish文档

varnish-libs-3.0.5-1.el6.x86_64.rpm        提供varnish的共享库

因为有依赖关系,最好使用yum安装。

# yum install var*.rpm

varnish主包安装后生成主要文件说明

# rpm -ql varnish

/etc/logrotate.d/varnish

/etc/rc.d/init.d/varnish                启动varnish服务的脚本

/etc/rc.d/init.d/varnishlog            varnish查看日志的服务脚本

/etc/rc.d/init.d/varnishncsa         varnish查看ncsa风格日志的脚本

/etc/sysconfig/varnish                varnish主程序工作特性的配置文件

/etc/varnish                varnish对缓存决策、backend server 等相关配置文件存放的目录

/etc/varnish/default.vcl     varnish缓存默认配置文件,使用vcl定义。

/usr/bin/varnish_reload_vcl    实现varnish动态装载配置文件的工具

/usr/bin/varnishadm        连接varnish管理varnish的客户端工具

/var/lib/varnish        缓存存储为文件时存放的位置

编辑/etc/sysconfig/varnish文件修改以下几个参数的值

VARNISH_LISTEN_PORT=80                    修改为客户端请求监听的端口
VARNISH_STORAGE_SIZE=32M                设置用来缓存空间的大小为32M
VARNISH_STORAGE="malloc,${VARNISH_STORAGE_SIZE}"        设置使用内存为缓存介质

# /etc/varnish/default.vcl   varnish的缓存策略文件内容如下

backend www1 {
  .host = "172.16.2.10";
  .port = "80";
}
 sub vcl_recv {
  if (req.url ~ "/$" && req.http.User-Agent ~ "iPhone"){ 如果请求的url最后了/并且是iphone
     set req.url = req.url + "iphone.html";        在请求的url后面加iphone.html
   }
  if (req.url ~ "/$" && req.http.User-Agent ~ "Android"){
     set req.url = req.url + "android.html";
   }
  if (req.url ~ "/$" && req.http.User-Agent ~ "Chrome"){
     set req.url = req.url + "chrome.html";
   }
     return (lookup);
 }

编辑好后启动varnish程序

# service varnish start

使用各个客户端测试的截图

chrom上的截图

IE的截图

iphone上safari和uc的访问截图

使用android设备上的360浏览器截图

未完待续!!!!

时间: 2024-10-20 04:27:55

varnish 配置使用 Chrome,iphone,android 请求响应各自的页面的相关文章

B/S请求响应,及页面渲染的过程

B/S请求响应,及页面渲染的过程 概念 B 是 Browser, S是服务器.B/S是动态.增量的加载资源的过程. C/S架构和B/S架构开发区别: 相同点 :都会有开发.发布.运行的过程 不两点:C/S架构发布的是一个包(andorad是一个.apk包),安装在设备上,运行时数据有一些是在.apk上的.而B/S架构发布:是将源代码放在webServer上,数据放在CDN上.运行时,由浏览器发布一个请求,服务器运行程序返回数据到浏览器上的. 一个html从浏览器发送请求.服务器返回数据的工作过程

iOS开发工具-如何使用网络封包分析工具Charles,通过配置proxy对http、https、tcp、udp 等协议的请求响应过程交互信息进行分析、判断、解决我们移动开发中的遇到的各种实际问题。

通过该方式同时也可以实现底层网络库AFNetworking及ASIHTTPRequest的代理设置.达到我们开发时的抓包分析及 IP地址指定访问开发/仿真任一台提供API接口服务器的目的. 首先下载Charles并配置我们的开发机iPhone终端的代理IP及Charles配置一下, 步骤如下: 1).取得mac本机的IP地址:如下图中的:192.168.1.106 如图: 2).通过下载的Charles来配置我们的代理服务器: 如下图: 将我们的开发机iphone终端代理设置成我们mac本的ip

Flask框架(二)—— 反向解析、配置信息、路由系统、模板、请求响应、闪现、请求扩展、session

目录 反向解析.配置信息.路由系统.模板.请求响应.闪现.session 一.反向解析 1.什么是反向解析 2.使用 二.配置信息 1.默认配置 2.修改方法一--点的方式修改 3.修改方法二--利用字典修改 4.修改方法三--通过py文件修改(常用) 5.修改方法四--利用类或类的路径修改(常用) 6.其他方法修改配置 三.路由系统 1.基本写法 2.转换器 3.路由本质 4.CBV 5.自定义支持正则 四.模板 五.请求与响应 六.session 七.闪现(flash) 1.使用 2.示例

Varnish配置语言之VCL

Varnish配置语言之VCL常用配置 用户请求一个资源的流程 (1)DNS查询 (2)建立连接 (3)服务器接收到请求后构建响应并处理完成 (4)发送至客户端,传输时间 (5)断开连接 缓存优化的意义 所谓的优化就是从以上每个角度去缩短时间,缓存是能够降低服务器的处理时间的 命中率的类型 ·文档命中率,文档命中率高并不能够说明服务器性能增强很明显 比如命中的都是很小的资源,而未命中的都是很大,所以就算命中率达到80%也并不说明传输的内容量小了80%,因此还有字节命中率 ·字节命中率 命中的文档

【报文】理解HTTP协议的Request/Response(请求响应)模型

[报文]理解HTTP协议的Request/Response(请求响应)模型 系列目录 [简介]"请求/响应"模型 http://www.cnblogs.com/engraver-lxw/p/7550514.html [原理]理解HTTP协议的Request/Response(请求响应)模型 http://www.cnblogs.com/engraver-lxw/p/7550691.html [报文]理解HTTP协议的Request/Response(请求响应)模型--当前 http:/

chrome inspect 远程调测:Chrome on Android之一 普通调试

本文PC环境: Chrome: 版本 33.0.1750.22 dev MAC OS:OS X 10.9.1 特别注意:Chrome DevToolsl使用时会联接到appspot.com,而此网址被墙,以下教程需要先在本机使用翻--墙代理,否则在chrome://inspect中无法点击网页的inspect链接打开Deleloper Tools. Mac上使用goagent教程:http://maolihui.com/goagent-mac-detail.html 其他操作系统如何使用goag

OkHttp+Stetho+Chrome调试android网络部分(原创)

android网络调试一直是一个比较麻烦的部分,因为在不同序列的请求中,返回的数据会有不同的变化,如果能像web开发一样使用调试功能查看页面的访问数据该是多么美好的事情! 很幸运的是,现在Android开发也可以实时监听网络访问了,能够看到你的发送数据信息,也能够看到返回数据信息. 如图: 点击每个请求会看到详细页面,可以查看请求的详情,如图: 如果要达到上面的效果,你需要改造你的网络请求模块,使用Chrome浏览器和android程序之间的中间件来连接,这就是本篇要介绍的主题: OkHttp+

varnish配置语法(应用)

varnish配置主要分为:后端配置,ACL配置,probes配置,directors配置,核心子程序配置几大块.其中后端配置是必要的,在多台服务器中还会用到directors配置,核心子程序配置. 后端配置:即给varnish添加反代服务器节点,最少配置一个. ACL配置:即给varnish添加访问控制列表,可以指定这些列表访问或禁止访问. probes配置:即给varnish添加探测后端服务器是否正常的规则,方便切换或禁止对应后端服务器. directors配置:即给varnish添加负载均

HTTP请求响应报文&&相关状态码&&GET_POST请求方法 总结

HTTP请求报文: 一个HTTP请求报文由四个部分组成:请求行.请求头部.空行.请求数据 1.请求行   请求行由请求方法字段.URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔.比如 GET /data/info.html HTTP/1.1 方法字段就是HTTP使用的请求方法,比如常见的GET/POST 其中HTTP协议版本有两种:HTTP1.0/HTTP1.1 可以这样区别: HTTP1.0对于每个连接都的建立一次连接一次只能传送一个请求和响应,请求就会关闭,HTTP1.0没有Ho