您好,登錄后才能下訂單哦!
簡單拓撲如下
后端服務器上有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安裝。
# 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上的截圖
IE的截圖
iphone上safari和uc的訪問截圖
使用android設備上的360瀏覽器截圖
未完待續!!!!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。