简单拓扑如下

后端服务器上有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安装。

#yuminstallvar*.rpm

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

#rpm-qlvarnish

/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设置用来缓存空间的大小为32MVARNISH_STORAGE="malloc,${VARNISH_STORAGE_SIZE}"设置使用内存为缓存介质

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

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

编辑好后启动varnish程序

#servicevarnishstart

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

chrom上的截图

IE的截图

iphone上safari和uc的访问截图

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

未完待续!!!!

更多相关文章

  1. Android(安卓)build/envsetup.sh分析
  2. android studio 官方用户指南翻译学习(四)创建 Android(安卓)libra
  3. Android(安卓)SD卡操作 (Environment 状态)
  4. ionic上拉翻页及下拉刷新
  5. TensorFlow in Android
  6. 安卓 Android之开发简单小应用(三)
  7. SharedPreferences存储
  8. Android之官方导航栏之Toolbar(Toolbar+DrawerLayout+ViewPager+
  9. android 通过platform.pk8,platform.x509.pem生成jks签名文件

随机推荐

  1. Android访问网络,使用HttpURLConnection还
  2. application中android:name的作用
  3. android 4.x receiver、services无法启动
  4. Android中触摸事件传递过程
  5. Android 内核解剖 - AMS(Activity Manager
  6. Android(安卓)4.0 Launcher2源码分析——
  7. 如何把个人业余开源项目做到月入8万美元?
  8. Android并发编程线程间通信的三种基本方
  9. Android Shell 常用命令
  10. android开发之Google工程师多图详解Andro