热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

简单拓扑如下650)this.titleclipboardstyleborder-top:0px;border-right:0px;border-bo

简单拓扑如下

clipboard

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

index.html

clipboard[1]

chrome.html

clipboard[2]

admroid.html

clipboard[3]

iphone.html

clipboard[4]


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                设置用来缓存空间的大小为32MVARNISH_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上的截图

clipboard[5]

IE的截图

clipboard[6]

iphone上safari和uc的访问截图

image

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

clipboard[7]

未完待续!!!!


推荐阅读
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • 使用圣杯布局模式实现网站首页的内容布局
    本文介绍了使用圣杯布局模式实现网站首页的内容布局的方法,包括HTML部分代码和实例。同时还提供了公司新闻、最新产品、关于我们、联系我们等页面的布局示例。商品展示区包括了车里子和农家生态土鸡蛋等产品的价格信息。 ... [详细]
  • 本文介绍了互联网思维中的三个段子,涵盖了餐饮行业、淘品牌和创业企业的案例。通过这些案例,探讨了互联网思维的九大分类和十九条法则。其中包括雕爷牛腩餐厅的成功经验,三只松鼠淘品牌的包装策略以及一家创业企业的销售额增长情况。这些案例展示了互联网思维在不同领域的应用和成功之道。 ... [详细]
  • 本文介绍了网页播放视频的三种实现方式,分别是使用html5的video标签、使用flash来播放以及使用object标签。其中,推荐使用html5的video标签来简单播放视频,但有些老的浏览器不支持html5。另外,还可以使用flash来播放视频,需要使用object标签。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 深入理解CSS中的margin属性及其应用场景
    本文主要介绍了CSS中的margin属性及其应用场景,包括垂直外边距合并、padding的使用时机、行内替换元素与费替换元素的区别、margin的基线、盒子的物理大小、显示大小、逻辑大小等知识点。通过深入理解这些概念,读者可以更好地掌握margin的用法和原理。同时,文中提供了一些相关的文档和规范供读者参考。 ... [详细]
  • 如何在HTML中获取鼠标的当前位置
    本文介绍了在HTML中获取鼠标当前位置的三种方法,分别是相对于屏幕的位置、相对于窗口的位置以及考虑了页面滚动因素的位置。通过这些方法可以准确获取鼠标的坐标信息。 ... [详细]
  • 本文介绍了响应式页面的概念和实现方式,包括针对不同终端制作特定页面和制作一个页面适应不同终端的显示。分析了两种实现方式的优缺点,提出了选择方案的建议。同时,对于响应式页面的需求和背景进行了讨论,解释了为什么需要响应式页面。 ... [详细]
  • 本文介绍了使用Python编写购物程序的实现步骤和代码示例。程序启动后,用户需要输入工资,并打印商品列表。用户可以根据商品编号选择购买商品,程序会检测余额是否充足,如果充足则直接扣款,否则提醒用户。用户可以随时退出程序,在退出时打印已购买商品的数量和余额。附带了完整的代码示例。 ... [详细]
  • ECMA262规定typeof操作符的返回值和instanceof的使用方法
    本文介绍了ECMA262规定的typeof操作符对不同类型的变量的返回值,以及instanceof操作符的使用方法。同时还提到了在不同浏览器中对正则表达式应用typeof操作符的返回值的差异。 ... [详细]
  • 使用chrome编辑器实现网页截图功能的方法
    本文介绍了在chrome浏览器中使用编辑器实现网页截图功能的方法。通过在地址栏中输入特定命令,打开控制台并调用命令面板,用户可以方便地进行网页截图操作。 ... [详细]
author-avatar
111222
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有