新聞中心
Varnish作用是訪問web速度的web加速器,被安裝在web服務(wù)器之前,從而緩存web服務(wù)器的應(yīng)用程序和數(shù)據(jù),最后相應(yīng)客戶的請(qǐng)求。 功能與Squid服務(wù)器相似,都可以用來做HTTP緩存。

創(chuàng)新互聯(lián)建站服務(wù)項(xiàng)目包括雁峰網(wǎng)站建設(shè)、雁峰網(wǎng)站制作、雁峰網(wǎng)頁制作以及雁峰網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,雁峰網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到雁峰省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
安裝
安裝pcre
如果沒有安裝pcre,在編譯varnish 2.0以上版本時(shí),會(huì)提示找不到pcre庫,而pcre庫是為了兼容正則表達(dá)式,所以必須先安裝pcre庫。下面是pcre的安裝過程:
[root@varnish-server ~]# tar -zxvf pcre-7.9.tar.gz
[root@varnish-server ~]# cd pcre-7.9/
[root@varnish-server ~]# ./config --prefix=/usr/local/pcre/
[root@varnish-server ~]# make && make install
安裝Varnish
這里將Varnish安裝到/usr/local/目錄下,操作如下:
[root@varnish-server ~]# tar -zxvf varnish-2.1.2.tar.gz
[root@varnish-server ~]# cd varnish-2.1.2
[root@varnish-server ~]# export PKG_CONFIG_PATH=/usr/local/pcre/lib/pkgconfig
[root@varnish-server ~]# ./configuer --prefix=/usr/local/varnish \
>--enable-dependency-tracking
>--enable-debugging-symbols
>--enable-developer-warnings
[root@varnish-server ~]# make
[root@varnish-server ~]# make install
[root@varnish-server ~]# cp redhat/varnish.initrc /etc/init.d/varnish
[root@varnish-server ~]# cp redhat/varnish.sysconfig /etc/syscinfug/varnish
其中,“PKG_CONFIG_PATH”是指定Varnish查找pcre庫的路徑,至此,Varnish安裝完畢。
配置
由于篇幅限制,在這兒是介紹VCL內(nèi)置函數(shù)的意義,請(qǐng)大家見諒!
vcl_recv函數(shù)
用于接受和處理請(qǐng)求。當(dāng)請(qǐng)求達(dá)到并被成功接收后被調(diào)用,通過判斷請(qǐng)求的數(shù)據(jù)來決定如何處理請(qǐng)求。 此函數(shù)一般以如下幾個(gè)關(guān)鍵字結(jié)束:
>pass:表示進(jìn)入pass模式,把請(qǐng)求控制權(quán)交給vcl_pass函數(shù)。
>pipe:表示進(jìn)入pipe模式,請(qǐng)把請(qǐng)求控制權(quán)交給vcl_pipe函數(shù)。
>error code [reason]:表示返回“code”給客戶端,并放棄處理該請(qǐng)求。
vcl_pipe函數(shù)
此函數(shù)在進(jìn)入pipe模式時(shí)被調(diào)用,用于將請(qǐng)求直接傳遞至后端主機(jī),在請(qǐng)求和返回的內(nèi)容沒有改變的情況下,將不變的內(nèi)容返回給客戶端,直到這個(gè)連接被關(guān)閉。 此函數(shù)一般以如下幾個(gè)關(guān)鍵字結(jié)束:
>pipe:表示進(jìn)入pipe模式,請(qǐng)把請(qǐng)求控制權(quán)交給vcl_pipe函數(shù)。
>error code [reason]:表示返回“code”給客戶端,并放棄處理該請(qǐng)求。
vcl_pass函數(shù)
此函數(shù)在進(jìn)入pass模式時(shí)被調(diào)用,用于將請(qǐng)求直接傳遞至后端主機(jī)。后端主機(jī)在應(yīng)答數(shù)據(jù)后將應(yīng)答數(shù)據(jù)發(fā)送給客戶端,但不進(jìn)行任何緩存,在當(dāng)前連接下每次都返回最新的內(nèi)容。 此函數(shù)一般以如下幾個(gè)關(guān)鍵字結(jié)束:
>pass。
>error code [reason]:表示返回“code”給客戶端,并放棄處理該請(qǐng)求。
lookup
表示在緩存中查找被請(qǐng)求的對(duì)象,并且根據(jù)查找的結(jié)果把控制權(quán)交給vcl_hit或者函數(shù)vcl_miss。
vcl_hit函數(shù)
在執(zhí)行l(wèi)ookup指令后,在緩存中找到請(qǐng)求的內(nèi)容后將自動(dòng)調(diào)用該函數(shù)。 此函數(shù)一般以如下幾個(gè)關(guān)鍵字結(jié)束:
>pass:表示進(jìn)入pass模式,把請(qǐng)求控制權(quán)交給vcl_pass函數(shù)。
>deliver:表示將找到的內(nèi)容發(fā)送給客戶端,并把控制權(quán)交給vcl_deliver。
>error code [reason]:表示返回“code”給客戶端,并放棄處理該請(qǐng)求。
vcl_miss函數(shù)
在執(zhí)行l(wèi)ookup指令后,在緩存中沒有找到請(qǐng)求的內(nèi)容時(shí)自動(dòng)調(diào)用該方法。此函數(shù)可用于判斷是否需要從后端服務(wù)器獲取內(nèi)容。 此函數(shù)一般以如下幾個(gè)關(guān)鍵字結(jié)束:
>pass。
>fetch:表示從后端獲取請(qǐng)求的內(nèi)容,并且把控制權(quán)交給vcl_fetch。
>error code [reason]:表示返回“code”給客戶端,并放棄處理該請(qǐng)求。
vcl_fetch函數(shù)
在后端主機(jī)更新緩存并且獲取內(nèi)容后調(diào)用該方法,接著,通過判斷獲取的內(nèi)容來決定是將內(nèi)容放入緩存,還是直接返回給客戶端。 此函數(shù)一般以如下幾個(gè)關(guān)鍵字結(jié)束:
>pass。
>deliver:表示將找到的內(nèi)容發(fā)送給客戶端,并把控制權(quán)交給vcl_deliver。
>error code [reason]:表示返回“code”給客戶端,并放棄處理該請(qǐng)求。
vcl_deliver函數(shù)
將在緩存中找到請(qǐng)求的內(nèi)容發(fā)送給客戶端前調(diào)用該方法。 此函數(shù)一般以如下幾個(gè)關(guān)鍵字結(jié)束:
>deliver:表示將找到的內(nèi)容發(fā)送給客戶端,并把控制權(quán)交給vcl_deliver。
>error code [reason]:表示返回“code”給客戶端,并放棄處理該請(qǐng)求。
vcl_timeout函數(shù)
在緩存內(nèi)容到期前調(diào)用該函數(shù)。 此函數(shù)一般以如下幾個(gè)關(guān)鍵字結(jié)束:
>descard:表示從緩存中清楚該內(nèi)容。
>fetch
vcl_discard函數(shù)
在緩存內(nèi)容到期后或緩存空間不足時(shí),自動(dòng)調(diào)用該函數(shù)。 此函數(shù)一般以如下幾個(gè)關(guān)鍵字結(jié)束:
>descard
>keep:表示將內(nèi)容繼續(xù)保留在緩存中。
本文名稱:講解一下Varnish安裝與配置
網(wǎng)站地址:http://www.dlmjj.cn/article/djioies.html


咨詢
建站咨詢
