varnish構成Chrome,iphone,androidリクエストを使用してそれぞれのページに応答


単純なトポロジは次のとおりです.
varnish 配置使用 Chrome,iphone,android 请求响应各自的页面_第1张图片
バックエンドサーバには4つのWebファイルがあり、各ファイルはそれぞれ以下の通りであり、各ファイルは対応するクライアント要求に対応している.
index.html
varnish 配置使用 Chrome,iphone,android 请求响应各自的页面_第2张图片
chrome.html
varnish 配置使用 Chrome,iphone,android 请求响应各自的页面_第3张图片
admroid.html
varnish 配置使用 Chrome,iphone,android 请求响应各自的页面_第4张图片
iphone.html
varnish 配置使用 Chrome,iphone,android 请求响应各自的页面_第5张图片
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 请求响应各自的页面_第6张图片
IEのスクリーンショット
varnish 配置使用 Chrome,iphone,android 请求响应各自的页面_第7张图片
iPhone上のsafariとucのアクセススクリーンショット
varnish 配置使用 Chrome,iphone,android 请求响应各自的页面_第8张图片
Androidデバイス上の360ブラウザを使用してスクリーンショット
varnish 配置使用 Chrome,iphone,android 请求响应各自的页面_第9张图片
未完待续!!!!