您好,登錄后才能下訂單哦!
這篇文章主要介紹如何安裝與配置Varnish,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
Varnish作用是訪問web速度的web加速器,被安裝在web服務器之前,從而緩存web服務器的應用程序和數據,最后相應客戶的請求。 功能與Squid服務器相似,都可以用來做HTTP緩存。
安裝pcre
如果沒有安裝pcre,在編譯varnish 2.0以上版本時,會提示找不到pcre庫,而pcre庫是為了兼容正則表達式,所以必須先安裝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內置函數的意義,請大家見諒!
vcl_recv函數
用于接受和處理請求。當請求達到并被成功接收后被調用,通過判斷請求的數據來決定如何處理請求。 此函數一般以如下幾個關鍵字結束:
>pass:表示進入pass模式,把請求控制權交給vcl_pass函數。 >pipe:表示進入pipe模式,請把請求控制權交給vcl_pipe函數。 >error code [reason]:表示返回“code”給客戶端,并放棄處理該請求。
vcl_pipe函數
此函數在進入pipe模式時被調用,用于將請求直接傳遞至后端主機,在請求和返回的內容沒有改變的情況下,將不變的內容返回給客戶端,直到這個連接被關閉。 此函數一般以如下幾個關鍵字結束:
>pipe:表示進入pipe模式,請把請求控制權交給vcl_pipe函數。 >error code [reason]:表示返回“code”給客戶端,并放棄處理該請求。
vcl_pass函數
此函數在進入pass模式時被調用,用于將請求直接傳遞至后端主機。后端主機在應答數據后將應答數據發送給客戶端,但不進行任何緩存,在當前連接下每次都返回最新的內容。 此函數一般以如下幾個關鍵字結束:
>pass。 >error code [reason]:表示返回“code”給客戶端,并放棄處理該請求。
lookup
表示在緩存中查找被請求的對象,并且根據查找的結果把控制權交給vcl_hit或者函數vcl_miss。
vcl_hit函數
在執行lookup指令后,在緩存中找到請求的內容后將自動調用該函數。 此函數一般以如下幾個關鍵字結束:
>pass:表示進入pass模式,把請求控制權交給vcl_pass函數。 >deliver:表示將找到的內容發送給客戶端,并把控制權交給vcl_deliver。 >error code [reason]:表示返回“code”給客戶端,并放棄處理該請求。
vcl_miss函數
在執行lookup指令后,在緩存中沒有找到請求的內容時自動調用該方法。此函數可用于判斷是否需要從后端服務器獲取內容。 此函數一般以如下幾個關鍵字結束:
>pass。 >fetch:表示從后端獲取請求的內容,并且把控制權交給vcl_fetch。 >error code [reason]:表示返回“code”給客戶端,并放棄處理該請求。
vcl_fetch函數
在后端主機更新緩存并且獲取內容后調用該方法,接著,通過判斷獲取的內容來決定是將內容放入緩存,還是直接返回給客戶端。 此函數一般以如下幾個關鍵字結束:
>pass。 >deliver:表示將找到的內容發送給客戶端,并把控制權交給vcl_deliver。 >error code [reason]:表示返回“code”給客戶端,并放棄處理該請求。
vcl_deliver函數
將在緩存中找到請求的內容發送給客戶端前調用該方法。 此函數一般以如下幾個關鍵字結束:
>deliver:表示將找到的內容發送給客戶端,并把控制權交給vcl_deliver。 >error code [reason]:表示返回“code”給客戶端,并放棄處理該請求。
vcl_timeout函數
在緩存內容到期前調用該函數。 此函數一般以如下幾個關鍵字結束:
>descard:表示從緩存中清楚該內容。 >fetch
vcl_discard函數
在緩存內容到期后或緩存空間不足時,自動調用該函數。 此函數一般以如下幾個關鍵字結束:
>descard >keep:表示將內容繼續保留在緩存中。
以上是“如何安裝與配置Varnish”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。