varnish基礎應用

2021-09-20 21:59:23 字數 1616 閱讀 3754

varnish主要用於快取伺服器,還有一些其他軟體也能實現快取功能,例如memcached但是它主要快取的是數值資料,適用於快取mysql的資料;而nginx也有快取功能,也可在反代時為後端主機提供快取,但是nginx常用於反代伺服器使用,也不建議乙個主機承載多工工作,這樣會**效能降低;而varnish正是常作為http協議的反代工作的。

現代網際網路服務,為了提供使用者良好的體驗,訪問**開啟頁面的速度要求非常快,所以各**基本都把資源盡量放在客戶端最近的訪問節點上,即常說的把資源推送到使用者的家門口。實現方式常用的有兩種方式:一種是使用cdn,另一種就是把使用者請求都指向乙個入口,在客戶請求的入口處部署快取伺服器,把熱點資源都放在離使用者最近的快取伺服器上。varnish就工作在第二種方式中,當做快取伺服器給使用者帶來良好的訪問體驗的。

同樣功能的還有一款軟體squid,與varnish的關係,相當於httpd與nginx的關係;squid出現比較早,但面臨較大負載時工作非常穩定,且功能豐富,同時支援正向、反向**;varnish是比較輕量,主要用來實現反代;但超過承受的負載時,可能很不穩定;

安裝varnish:

]# yum install varnish

安裝varnish的文件包

]# yum -y install varnish-docs

varnish主機:172.18.11.111

後端web主機:

rs1:172.18.11.11

rs2:172.18.11.12

varnish主機:

啟動varnish專用命令列:

]# varnishadm -s /etc/varnish/secret -t 127.0.0.1:6082

vcl.load test1 default.vcl

顯示:

沒問題後,再輸入:

vcl.use test1

顯示:

沒問題後,可瀏覽器測試。

分別在後端兩web伺服器提供測試頁:

]# vim /var/www/html/index.html

]# vim /var/www/html/index.html

瀏覽器輸入:

重新整理後交替顯示:

停掉後端一台web伺服器,繼續訪問仍能提供web服務。

Varnish基礎應用1

是一種開源方案。程序分為兩類 management 程序和 管理程序 child cache 子程序 管理程序 編譯vcl並應用新配置。監控varnish。初始化varnish,cli介面。child cache acceptor 接受新的連線請求。worker thread 處理使用者請求。exp...

Varnish基礎應用2

一次客戶端請求過程 客戶端請求 瀏覽器快取 公共快取 後端伺服器。vrnish的狀態引擎 state engine vcl recv 剛收到請求 vcl fetch 去後端伺服器取內容 vcl deliver 投遞響應報文 vcl hit 命中 vcl miss 沒命中 vcl hash 因為var...

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...