真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何使用Varnish為web網(wǎng)站加速-創(chuàng)新互聯(lián)

本篇文章為大家展示了如何使用Varnish為web網(wǎng)站加速,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于成都網(wǎng)站設計、網(wǎng)站制作、永新網(wǎng)絡推廣、小程序設計、永新網(wǎng)絡營銷、永新企業(yè)策劃、永新品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們大的嘉獎;創(chuàng)新互聯(lián)為所有大學生創(chuàng)業(yè)者提供永新建站搭建服務,24小時服務熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com

使用Varnish為網(wǎng)站加速

varnish概述

Varnish是一款高性能的開源HTTP加速器,挪威大的在線報紙Verdens Gang (http://www.vg.no) 使用3臺Varnish代替了原來的12臺squid,性能居然比以前更好。Varnish 的作者Poul-Henning Kamp是FreeBSD的內(nèi)核開發(fā)者之一,他認為現(xiàn)在的計算機比起1975年已經(jīng)復雜許多。在1975年時,儲存媒介只有兩種:內(nèi)存與硬盤。但現(xiàn)在計算機系統(tǒng)的內(nèi)存除了主存外,還包括了cpu內(nèi)的L1、L2,甚至有L3快取。硬盤上也有自己的快取裝置,因此squid cache自行處理物件替換的架構不可能得知這些情況而做到最佳化,但操作系統(tǒng)可以得知這些情況,所以這部份的工作應該交給操作系統(tǒng)處理,這就是Varnish cache設計架構。

監(jiān)聽端口號:6081

varnish基礎概念詳解

1)Varnish的特點

1)可以基于內(nèi)存緩存,也可以在磁盤上緩存,如果期望內(nèi)存大小超過幾十個G,比如圖片服務器,純粹使用內(nèi)存,性能未必好,這時候可以使用磁盤進行緩存,或使用SSD X 2 做RAID1避免磁盤損壞,在實現(xiàn)隨機訪問上ssd硬盤要比機械硬盤要好的多,如果必須要緩存在磁盤上還是建議使用ssd磁盤

2)可以利用虛擬內(nèi)存方式,IO性能會非常好

3)支持設置0-60秒精確緩存時間

4)支持VCL,其配置是通過vcl編程語言來完成的。其配置需要先轉(zhuǎn)換成C代碼,所以使用vcl所寫的配置,要先轉(zhuǎn)換成C語言代碼,因此要依賴于GCC 臨時的編譯vcl配置的,編譯完之后才能運行起來

5)獨特的日志存儲及管理機制,日志既然保存在內(nèi)存中,日志可以供多個應用程序所訪問,所以一般查看命中率,當前請求有多少get post 方法等等,都需使用專用的工具才可以查看,比如varnishshtopvarnishlog 等命令工具用來查看日志信息

6)支持使用varnish狀態(tài)引擎,通過巧妙的狀態(tài)引擎的設計完成不同的引擎對用戶的請求和緩存代理機制進行處理,用配置文件為狀態(tài)引擎提供狀態(tài)法則,完成緩存處理、完成代理處理等等

2)varnish緩存數(shù)據(jù)機制:

如何使用Varnish為web網(wǎng)站加速

3)Varnish代理VCL處理流程圖

如何使用Varnish為web網(wǎng)站加速

處理過程大致分為如下幾個步驟:

(1)Receive狀態(tài),也就是請求處理的入口狀態(tài),根據(jù)VCL規(guī)則判斷該請求應該是Pass或Pipe,或者進入Lookup(本地查詢)。

(2)Lookup狀態(tài),在緩存中查找用戶請求的對象,如果緩存中沒有其請求的對象,后續(xù)操作很可能會將其請求的對象進行緩存;進入此狀態(tài)后,會在hash表中查找數(shù)據(jù),若找到,則進入Hit(命中)狀態(tài),否則進入miss狀態(tài)。

(3)Pass狀態(tài),在此狀態(tài)下,會進入后端請求,即進入fetch取狀態(tài)。

(4)Fetch狀態(tài),在Fetch取狀態(tài)下,對請求,進行后端的獲取,發(fā)送請求,獲得數(shù)據(jù),并進行本地的存儲。

(5)Deliver提供狀態(tài),將獲取到的數(shù)據(jù)發(fā)送給客戶端,然后完成本次請求。

注:

pass:繞過緩存,即不從緩存中查詢內(nèi)容或不將內(nèi)容存儲至緩存中;

pipe:不對客戶端進行檢查或做出任何操作,而是在客戶端與后端服務器之間建立專用“管道”,并直接將數(shù)據(jù)在二者之間進行傳送;此時,keep-alive連接中后續(xù)傳送的數(shù)據(jù)也都將通過此管道進行直接傳送,并不會出現(xiàn)在任何日志中;

4)總結: 用戶通過varnish加速時,有4線路可以獲得數(shù)據(jù)

如何使用Varnish為web網(wǎng)站加速

一:實驗目標

實戰(zhàn)1:緩存一個網(wǎng)站

實戰(zhàn)2:使用varnish緩存多個網(wǎng)站

二:實驗環(huán)境

Varnish代理服務端  xuegod63   192.168.1.63

       Web服務端  xuegod64   192.168.1.64

       Web服務端  xuegod62   192.168.1.62

三:實驗代碼

1、安裝varnish

1)安裝varnish軟件包

[root@xuegod63 ~]# rpm -ivh varnish-libs-3.0.6-1.el6.x86_64.rpm

[root@xuegod63 ~]# rpm -ivh varnish-3.0.6-1.el6.x86_64.rpm

參數(shù):

--nosignature想要略過數(shù)字簽名的檢查,不檢測合法性。因為這個rpm包不是redhat發(fā)布的。

-i install  安裝

2)vainish各配置文件位置

vcl置文件:

[root@xuegod63 ~]# ls /etc/varnish/default.vcl

varnish主配置文件

[root@xuegod63 ~]# vim /etc/sysconfig/varnish

3)啟varnish服務:

[root@xuegod63 ~]# /etc/init.d/varnish start

2、配置xuegod63成為varnish加速代理服務器

1)配置xuegod63成為varnish服務器

[root@xuegod63 ~]# vim /etc/varnish/default.vcl

###配置一個后端服務器

改:

7 backend default {

8   .host = "127.0.0.1";

9   .port = "80";

10 }

為:

backend web1 {

.host = "192.168.1.64";

.port = "80";

}

###查看緩存命中情況

在:

90 # sub vcl_deliver {

91 #     return (deliver);

92 # }

追加:

sub vcl_deliver {

if (obj.hits > 0) {

set resp.http.X-Cache = "HIT fromxuegodcache";

}

else {

set resp.http.X-Cache = "MISS from xuegodcache";

}

return (deliver);

}

保存退出。

2)配置varnish服務端口

[root@xuegod63 ~]# vim /etc/sysconfig/varnish

改:

66 VARNISH_LISTEN_PORT=6081

為:

VARNISH_LISTEN_PORT=80

3)啟動varnish服務器

[root@xuegod63 ~]# /etc/init.d/varnish start

Starting Varnish Cache:                                    [  OK  ]

3、配置xuegod64為后端web服務器

1)配置xuegod64為后端web服務器

[root@xuegod64 ~]# yum install httpd -y

[root@xuegod64 ~]# echo 192.168.1.64 > /var/www/html/index.html#創(chuàng)建首頁

2)解決需要開啟apache 長鏈接功能

[root@xuegod64 ~]# vim /etc/httpd/conf/httpd.conf

:76 KeepAliveOff

:KeepAlive On

2)啟動阿帕奇服務器

[root@xuegod64 ~]#service httpd restart#在xuegod64上開啟web服務器

4、實戰(zhàn)1:緩存單個web網(wǎng)站

1)測試源站點:在瀏覽器中訪問:http://192.168.1.64/

如何使用Varnish為web網(wǎng)站加速

2)測試加速:在瀏覽器中訪問:http://192.168.1.63/

如何使用Varnish為web網(wǎng)站加速

能夠正常訪問,說明代理設置成功。

測試緩存命中:

擴展:curl命令

curl是通過url語法在命令行下上傳或下載文件的工具軟件,它支持http,https,ftp,ftps,telnet等多種協(xié)議,常被用來抓取網(wǎng)頁和監(jiān)控Web服務器狀態(tài)。

參數(shù):

-I只取http響應頭的信息,不取網(wǎng)頁內(nèi)容

3)查看啟動的web服務器類型

[root@xuegod63 ~]# curl -I 192.168.1.64#在xuegod63上查看xuegod64開啟動的web服務器類型

HTTP/1.1 403 Forbidden

Date: Sat, 08 Aug 2015 11:17:49 GMT

Server:Apache/2.2.15 (Red Hat)

Accept-Ranges: bytes

Content-Length: 3985

Connection: close

Content-Type: text/html; charset=UTF-8

4)測試緩存命中

[root@xuegod63 ~]# curl -I 192.168.1.63

HTTP/1.1 503 Service Unavailable

Server: Varnish

Content-Type: text/html; charset=utf-8

Retry-After: 5

Content-Length: 419

Accept-Ranges: bytes

Date: Sat, 08 Aug 2015 11:12:20 GMT

X-Varnish: 1141298100

Age: 0

Via: 1.1 varnish

Connection: close

X-Cache:MISS from linuxidc cache#未命中

5)再次測試:

[root@xuegod63 ~]# curl -I 192.168.1.63

HTTP/1.1 200 OK

Server: Apache/2.2.15 (Red Hat)

Last-Modified: Sat, 08 Aug 2015 11:21:11 GMT

ETag: "25f61-d-51ccaf318dbb9"

Content-Type: text/html; charset=UTF-8

Content-Length: 13

Accept-Ranges: bytes

Date: Sat, 08 Aug 2015 11:28:37 GMT

X-Varnish: 1141298121 1141298120

Age: 1

Via: 1.1 varnish

Connection: keep-alive

X-Cache:HIT from linuxidc cache#命中

6)varnish服務器基本操作:

[root@xuegod63 ~]# varnishadm ban.url  .*$  #清除所有緩存

[root@xuegod63 ~]# curl -I 192.168.1.63

。。。

X-Cache: MISS from linuxidc cache

[root@xuegod63 ~]# varnishadm ban.url /index.html #清除index.html頁面緩存

7)測試:

[root@xuegod63 ~]# curl -I 192.168.1.63/index.html

[root@xuegod63 ~]#  varnishadm ban.url /admin/$ #清除admin目錄緩存

實戰(zhàn)2:使用varnish加速多個不同域名站點的web服務器

1)配置xuegod62為web2服務器

[root@xuegod62 ~]# yum install httpd -y

[root@xuegod62 ~]# echo 192.168.1.62 > /var/www/html/index.html

[root@xuegod62 ~]# vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.1.62  xuegod62.cn

[root@xuegod62 ~]# service httpd restart

2)配置xuegod63 上的varnish服務器:

[root@xuegod63 ~]# vim /etc/varnish/default.vcl

改:

backend web1 {

.host = "192.168.1.64";

.port = "80";

}

為:

backend web1 {

.host = "192.168.1.64";

.port = "80";

}

backend web2 {

.host = "192.168.1.62";

.port = "80";

}

[root@xuegod63 ~]# vim /etc/varnish/default.vcl#在之前的sub vcl_deliver {。。。} 之前,插入以下內(nèi)容:

sub vcl_recv {

if (req.http.host ~ "^(www.)?xuegod.cn") {

set req.http.host = "www.xuegod.cn";

set req.backend = web1;

} elsif (req.http.host ~ "^bbs.xuegod.cn") {

set req.backend = web2;

}else {error 404 "xuegodcache";

}

}

sub vcl_deliver {

#當訪問www.xuegod.cn域名時從web1上取數(shù)據(jù),訪問bbs.xuegod.cn域名時到web2取數(shù)據(jù),訪問其他頁面報錯。

3)重新加載varnish配置文件

[root@xuegod63 ~]# service varnish reload

Loading vcl from /etc/varnish/default.vcl

Current running config name is boot

Using new config name reload_2015-08-08T19:42:11

VCL compiled.

available       2 boot

active         0 reload_2015-08-08T19:42:11

Done

4)測試:網(wǎng)頁訪問www.xuegod.cn和bbs.xuegod.cn則會顯示不同的內(nèi)容。

在xuegod62上測試:

[root@xuegod62 ~]# vim/etc/hosts#添加hosts文件

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.1.62  xuegod62.cn

192.168.1.63  www.xuegod.cn

192.168.1.63  bbs.xuegod.cn

[root@xuegod62 ~]# yum install elinks -y

[root@xuegod62 ~]# elinks www.xuegod.cn--dump

192.168.1.64

[root@xuegod62 ~]# elinks bbs.xuegod.cn--dump

192.168.1.62

5)測試報錯信息:http://192.168.1.63/

如何使用Varnish為web網(wǎng)站加速

上述內(nèi)容就是如何使用Varnish為web網(wǎng)站加速,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


當前題目:如何使用Varnish為web網(wǎng)站加速-創(chuàng)新互聯(lián)
URL網(wǎng)址:http://weahome.cn/article/degeps.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部