新聞中心
Varnish 是一款高性能且開源的反向代理服務(wù)器和 HTTP 加速器,其采用全新的軟件體系機構(gòu),和現(xiàn)在的硬件體系緊密配合,與傳統(tǒng)的 squid 相比,varnish 具有性能更高、速度更快、管理更加方便等諸多優(yōu)點。

創(chuàng)新互聯(lián)公司主營大祥網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶APP開發(fā),大祥h5小程序制作搭建,大祥網(wǎng)站營銷推廣歡迎大祥等地區(qū)企業(yè)咨詢
安裝
安裝pcre
如果沒有安裝pcre,在編譯varnish 2.0以上版本時,會提示找不到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ù)的意義,請大家見諒!
vcl_recv函數(shù)
用于接受和處理請求。當(dāng)請求達(dá)到并被成功接收后被調(diào)用,通過判斷請求的數(shù)據(jù)來決定如何處理請求。 此函數(shù)一般以如下幾個關(guān)鍵字結(jié)束:
>pass:表示進(jìn)入pass模式,把請求控制權(quán)交給vcl_pass函數(shù)。
>pipe:表示進(jìn)入pipe模式,請把請求控制權(quán)交給vcl_pipe函數(shù)。
>error code [reason]:表示返回“code”給客戶端,并放棄處理該請求。
vcl_pipe函數(shù)
此函數(shù)在進(jìn)入pipe模式時被調(diào)用,用于將請求直接傳遞至后端主機,在請求和返回的內(nèi)容沒有改變的情況下,將不變的內(nèi)容返回給客戶端,直到這個連接被關(guān)閉。 此函數(shù)一般以如下幾個關(guān)鍵字結(jié)束:
>pipe:表示進(jìn)入pipe模式,請把請求控制權(quán)交給vcl_pipe函數(shù)。
>error code [reason]:表示返回“code”給客戶端,并放棄處理該請求。
vcl_pass函數(shù)
此函數(shù)在進(jìn)入pass模式時被調(diào)用,用于將請求直接傳遞至后端主機。后端主機在應(yīng)答數(shù)據(jù)后將應(yīng)答數(shù)據(jù)發(fā)送給客戶端,但不進(jìn)行任何緩存,在當(dāng)前連接下每次都返回最新的內(nèi)容。 此函數(shù)一般以如下幾個關(guān)鍵字結(jié)束:
>pass。
>error code [reason]:表示返回“code”給客戶端,并放棄處理該請求。
lookup
表示在緩存中查找被請求的對象,并且根據(jù)查找的結(jié)果把控制權(quán)交給vcl_hit或者函數(shù)vcl_miss。
vcl_hit函數(shù)
在執(zhí)行l(wèi)ookup指令后,在緩存中找到請求的內(nèi)容后將自動調(diào)用該函數(shù)。 此函數(shù)一般以如下幾個關(guān)鍵字結(jié)束:
>pass:表示進(jìn)入pass模式,把請求控制權(quán)交給vcl_pass函數(shù)。
>deliver:表示將找到的內(nèi)容發(fā)送給客戶端,并把控制權(quán)交給vcl_deliver。
>error code [reason]:表示返回“code”給客戶端,并放棄處理該請求。
vcl_miss函數(shù)
在執(zhí)行l(wèi)ookup指令后,在緩存中沒有找到請求的內(nèi)容時自動調(diào)用該方法。此函數(shù)可用于判斷是否需要從后端服務(wù)器獲取內(nèi)容。 此函數(shù)一般以如下幾個關(guān)鍵字結(jié)束:
>pass。
>fetch:表示從后端獲取請求的內(nèi)容,并且把控制權(quán)交給vcl_fetch。
>error code [reason]:表示返回“code”給客戶端,并放棄處理該請求。
vcl_fetch函數(shù)
在后端主機更新緩存并且獲取內(nèi)容后調(diào)用該方法,接著,通過判斷獲取的內(nèi)容來決定是將內(nèi)容放入緩存,還是直接返回給客戶端。 此函數(shù)一般以如下幾個關(guān)鍵字結(jié)束:
>pass。
>deliver:表示將找到的內(nèi)容發(fā)送給客戶端,并把控制權(quán)交給vcl_deliver。
>error code [reason]:表示返回“code”給客戶端,并放棄處理該請求。
vcl_deliver函數(shù)
將在緩存中找到請求的內(nèi)容發(fā)送給客戶端前調(diào)用該方法。 此函數(shù)一般以如下幾個關(guān)鍵字結(jié)束:
>deliver:表示將找到的內(nèi)容發(fā)送給客戶端,并把控制權(quán)交給vcl_deliver。
>error code [reason]:表示返回“code”給客戶端,并放棄處理該請求。
vcl_timeout函數(shù)
在緩存內(nèi)容到期前調(diào)用該函數(shù)。 此函數(shù)一般以如下幾個關(guān)鍵字結(jié)束:
>descard:表示從緩存中清楚該內(nèi)容。
>fetch
vcl_discard函數(shù)
在緩存內(nèi)容到期后或緩存空間不足時,自動調(diào)用該函數(shù)。 此函數(shù)一般以如下幾個關(guān)鍵字結(jié)束:
>descard
>keep:表示將內(nèi)容繼續(xù)保留在緩存中。
當(dāng)前名稱:Linux下安裝HTTP加速器Varnish
URL標(biāo)題:http://www.5511xx.com/article/dpjoepg.html


咨詢
建站咨詢
