温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-07-19 18:13:02 来源:网络 阅读:432 作者:wukui 栏目:移动开发

简单拓扑如下

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

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

index.html

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

chrome.html

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

admroid.html

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

iphone.html

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


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上的截图

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

IE的截图

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

iphone上safari和uc的访问截图

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

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

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

未完待续!!!!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI