varnish配置例項

2021-06-22 10:16:20 字數 3095 閱讀 6782

vim /usr/local/varnish3.0/etc/varnish/default.vcl

#設定後端服務

backend linuxidc

backend 88181

#定義負載均衡

director lb_test random

}#定義訪問控制列表

}#根據host設定後端伺服器

#如果為purge請求,客戶端ip不在訪問列表中,返回405拒絕

if (req.request == "purge")

#本地快取查詢

return(lookup);

}#如果為get請求,url字尾為jpg,png,gif等 取出cookie

#如果get請求,url為php,則穿過cache,不快取

if (req.request =="get"&&req.url ~ "(?i)\.php($|\?)")

#簡單防盜煉

}#獲取客戶端ip

#     if (req.restarts == 0) else

#   }

#不是以下請求進入pipe模組

if (req.request != "get" &&

req.request != "head" &&

req.request != "put" &&

req.request != "post" &&

req.request != "trace" &&

req.request != "options" &&

req.request != "delete")

#不是get 和head請求不快取

#使用url+host hash演算法查詢資料

sub vcl_hash else

return (hash);

}# 如果請求為purge 將清除快取

#為特定格式檔案設定快取時間

}# 設定返回狀態

}# 定義錯誤

sub vcl_error + obj.response + + req.xid + ;

return (deliver);

}sub vcl_init

sub vcl_fini

四、啟動

啟動命令

/usr/local/varnish3.0/sbin/varnishd  -f /usr/local/varnish3.0/etc/varnish/default.vcl  -s malloc,2g  -a 0.0.0.0:80 -w 1024,51200,10 -t 

3600 -t 192.168.100.2:3500

檢測配置檔案是否存在錯誤

/usr/local/varnish3.0/sbin/varnishd -c -f /usr/local/varnish3.0/etc/varnish/default.vcl

引數-a  address:port 監聽埠

-f  指定配置檔案

-s 指定快取型別 malloc為記憶體, file 檔案快取

-t 預設ttl

-t address:port 管理埠

-w 最小執行緒,最大執行緒,超時時間

記錄varnish日誌

/usr/local/varnish3.0/bin/varnishncsa -w /var/logs/varnish.log &

五、快取重新整理

php腳步如下

<?php   

function purge($ip, $url)   

else  

}   

if(isset($_post['content']))

//purge($server, "$_post[content]");   

//echo "重新整理成功";

}?> 

###########

通過管理埠清除快取

telnet 192.168.100.2 3500

3.0版本 為ban.url aaaa.html

2.版本為purge.url aaaa.html

varnish相關配置 varnish

backend web1 配置乙個backendhost 可以是網域名稱也可以是ip主要是回源取資料 new sm web1 saintmode.saintmode web1,60 new web1 rr directors.round robin web1 rr.add backend sm we...

Varnish基本配置

快取server varnish安裝與檢視 1002 yum info varnish 1003 rpm ql varnish 1004 yum install varnish y 1005 rpm ql varnish 1006 cat etc varnish varnish.params 100...

varnish安裝配置

1.安裝需要用到的包,歷史教訓告訴我一定要裝穩定版本,要不有些東西不能用 automake autoconf libtool ncurses devel libxslt groff pcre devel pkgconfig yum y install automake autoconf libtoo...