热门标签 | 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]

未完待续!!!!


推荐阅读
  • Web App vs Native App:未来的移动应用趋势
    随着移动互联网的发展,Web App和Native App之间的竞争日益激烈。对于开发者而言,选择哪一种技术路径更为明智?本文将深入探讨两种应用模式的特点及未来趋势。 ... [详细]
  • Python自动化测试入门:Selenium环境搭建
    本文详细介绍如何在Python环境中安装和配置Selenium,包括开发工具PyCharm的安装、Python环境的设置以及Selenium包的安装方法。此外,还提供了编写和运行第一个自动化测试脚本的步骤。 ... [详细]
  • Vue 开发与调试工具指南
    本文介绍了如何使用 Vue 调试工具,包括克隆仓库、安装依赖包、构建项目以及在 Chrome 浏览器中加载扩展的详细步骤。 ... [详细]
  • 本文将带您了解Cocos家族的不同版本和分支,特别是Cocos Creator的发展历程及其核心特性,帮助初学者快速入门。 ... [详细]
  • 本文介绍了如何利用Selenium和Python通过执行JavaScript代码来控制网页中的滚动条,包括垂直和水平滚动条的控制,以及特定元素的聚焦技术。 ... [详细]
  • 将基于Web的互动多媒体体验引入手机和平板电脑历来面临诸多挑战,如性能瓶颈、API兼容性和HTML5音频及视频播放限制等问题。本文探讨了如何克服这些障碍,为《霍比特人:史矛革之战》打造了一个移动优先的沉浸式网络体验。 ... [详细]
  • 鼠标悬停出现提示信息怎么做
    概述–提示:指启示,提起注意或给予提醒和解释。在excel中会经常用到给某个格子增加提醒信息,比如金额提示输入数值或最大长度值等等。设置方式也有多种,简单的,仅为单元格插入批注就可 ... [详细]
  • 本文详细介绍如何在 iOS 7 环境下申请苹果开发者账号,涵盖从访问开发者网站到最终激活账号的完整流程。包括选择个人或企业账号类型、付款方式及注意事项等。 ... [详细]
  • 本文详细介绍了如何在Android 4.4及以上版本中配置WebView以实现内容的自动高度调整和屏幕适配,确保中文显示正常,并提供代码示例。 ... [详细]
  • 一个登陆界面
    预览截图html部分123456789101112用户登入1314邮箱名称邮箱为空15密码密码为空16登 ... [详细]
  • AngularJS在IE7中的兼容性解决方案
    本文探讨了在较旧版本的Internet Explorer(如IE7)中使用AngularJS时遇到的问题及解决方法,包括HTML标签的正确书写方式以及如何添加对JSON的支持。 ... [详细]
  • 2015款Chromebook Pixel评测:高端Chrome OS笔记本体验
    在笔记本电脑领域,Chromebook Pixel凭借其精致的铝合金外壳、细腻的显示屏和舒适的键盘,成为了外观设计的佼佼者。然而,尽管外观出众,它是否值得购买仍需考量。 ... [详细]
  • Vue项目中应用骨架屏实践
    在当前开发的项目中,由于登录过程涉及多次重定向,导致用户体验不佳。为了改善这一状况,本文介绍了如何使用vue-skeleton-webpack-plugin插件在Vue项目中实现骨架屏,以减少用户感受到的白屏时间。 ... [详细]
  • 从 Windows 转向 Mac 的开发者指南:必备技巧与工具
    本文旨在帮助从 Windows 转向 Mac 的开发者们,提供一系列实用的技巧和工具,确保过渡过程顺畅。 ... [详细]
  • 精选6款开源Web性能优化工具,助力前端开发
    本文精选了6款开源Web性能优化工具,旨在帮助前端开发者提升页面加载速度,改善用户体验。 ... [详细]
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社区 版权所有