溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux下怎么安裝HTTP加速器Varnish

發(fā)布時(shí)間:2022-01-27 14:47:15 來源:億速云 閱讀:205 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹“Linux下怎么安裝HTTP加速器Varnish”的相關(guān)知識(shí),小編通過實(shí)際案例向大家展示操作過程,操作方法簡單快捷,實(shí)用性強(qiáng),希望這篇“Linux下怎么安裝HTTP加速器Varnish”文章能幫助大家解決問題。

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

Linux下怎么安裝HTTP加速器Varnish

安裝

安裝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ù)的意義,請大家見諒!

vcl_recv函數(shù)

用于接受和處理請求。當(dāng)請求達(dá)到并被成功接收后被調(diào)用,通過判斷請求的數(shù)據(jù)來決定如何處理請求。 此函數(shù)一般以如下幾個(gè)關(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模式時(shí)被調(diào)用,用于將請求直接傳遞至后端主機(jī),在請求和返回的內(nèi)容沒有改變的情況下,將不變的內(nèi)容返回給客戶端,直到這個(gè)連接被關(guān)閉。 此函數(shù)一般以如下幾個(gè)關(guān)鍵字結(jié)束:

>pipe:表示進(jìn)入pipe模式,請把請求控制權(quán)交給vcl_pipe函數(shù)。
>error code [reason]:表示返回“code”給客戶端,并放棄處理該請求。

vcl_pass函數(shù)

此函數(shù)在進(jìn)入pass模式時(shí)被調(diào)用,用于將請求直接傳遞至后端主機(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”給客戶端,并放棄處理該請求。

lookup

表示在緩存中查找被請求的對象,并且根據(jù)查找的結(jié)果把控制權(quán)交給vcl_hit或者函數(shù)vcl_miss。

vcl_hit函數(shù)

在執(zhí)行l(wèi)ookup指令后,在緩存中找到請求的內(nèi)容后將自動(dòng)調(diào)用該函數(shù)。 此函數(shù)一般以如下幾個(gè)關(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)容時(shí)自動(dòng)調(diào)用該方法。此函數(shù)可用于判斷是否需要從后端服務(wù)器獲取內(nèi)容。 此函數(shù)一般以如下幾個(gè)關(guān)鍵字結(jié)束:

>pass。
>fetch:表示從后端獲取請求的內(nèi)容,并且把控制權(quán)交給vcl_fetch。
>error code [reason]:表示返回“code”給客戶端,并放棄處理該請求。

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”給客戶端,并放棄處理該請求。

vcl_deliver函數(shù)

將在緩存中找到請求的內(nèi)容發(fā)送給客戶端前調(diào)用該方法。 此函數(shù)一般以如下幾個(gè)關(guān)鍵字結(jié)束:

>deliver:表示將找到的內(nèi)容發(fā)送給客戶端,并把控制權(quán)交給vcl_deliver。
>error code [reason]:表示返回“code”給客戶端,并放棄處理該請求。

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ù)保留在緩存中。

關(guān)于“Linux下怎么安裝HTTP加速器Varnish”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI