欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

nginx頁面緩存怎么配置

這篇文章主要介紹了nginx頁面緩存怎么配置的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇nginx頁面緩存怎么配置文章都會(huì)有所收獲,下面我們一起來看看吧。

創(chuàng)新互聯(lián)建站主要為客戶提供服務(wù)項(xiàng)目涵蓋了網(wǎng)頁視覺設(shè)計(jì)、VI標(biāo)志設(shè)計(jì)、網(wǎng)絡(luò)營銷推廣、網(wǎng)站程序開發(fā)、HTML5響應(yīng)式網(wǎng)站建設(shè)手機(jī)網(wǎng)站開發(fā)、微商城、網(wǎng)站托管及成都網(wǎng)站維護(hù)公司、WEB系統(tǒng)開發(fā)、域名注冊(cè)、國內(nèi)外服務(wù)器租用、視頻、平面設(shè)計(jì)、SEO優(yōu)化排名。設(shè)計(jì)、前端、后端三個(gè)建站步驟的完善服務(wù)體系。一人跟蹤測試的建站服務(wù)標(biāo)準(zhǔn)。已經(jīng)為墻體彩繪行業(yè)客戶提供了網(wǎng)站推廣服務(wù)。

nginx之頁面緩存

1.指令說明

proxy_cache_path

語法:proxy_cache_path path [levels=number] keys_zone=zone_name:zone_size [inactive=time] [max_size=size]; 

默認(rèn)值:none 

使用字段:http 

指令指定緩存的路徑和一些其他參數(shù),緩存的數(shù)據(jù)存儲(chǔ)在文件中,并且使用代理url的哈希值作為關(guān)鍵字與文件名。levels參數(shù)指定緩存的子目錄數(shù),例如:

proxy_cache_path /data/nginx/cache levels=1:2  keys_zone=one:10m;

文件名類似于:

/data/nginx/cache/c/29/b7f54b2df7773722d382f4809d65029c

levels指定目錄結(jié)構(gòu),可以使用任意的1位或2位數(shù)字作為目錄結(jié)構(gòu),如 x, x:x,或x:x:x 例如: “2”, “2:2”, “1:1:2“,但是最多只能是三級(jí)目錄。 

所有活動(dòng)的key和元數(shù)據(jù)存儲(chǔ)在共享的內(nèi)存池中,這個(gè)區(qū)域用keys_zone參數(shù)指定。one指的是共享池的名稱,10m指的是共享池的大小。 

注意每一個(gè)定義的內(nèi)存池必須是不重復(fù)的路徑,例如:

proxy_cache_path /data/nginx/cache/one  levels=1   keys_zone=one:10m;
proxy_cache_path /data/nginx/cache/two  levels=2:2  keys_zone=two:100m;
proxy_cache_path /data/nginx/cache/three levels=1:1:2 keys_zone=three:1000m;

如果在inactive參數(shù)指定的時(shí)間內(nèi)緩存的數(shù)據(jù)沒有被請(qǐng)求則被刪除,默認(rèn)inactive為10分鐘。一個(gè)名為cache manager的進(jìn)程控制磁盤的緩存大小,它被用來刪除不活動(dòng)的緩存和控制緩存大小,這些都在max_size參數(shù)中定義,當(dāng)目前緩存的值超出max_size指定的值之后,超過其大小后最少使用數(shù)據(jù)(lru替換算法)將被刪除。內(nèi)存池的大小按照緩存頁面數(shù)的比例進(jìn)行設(shè)置,一個(gè)頁面(文件)的元數(shù)據(jù)大小按照操作系統(tǒng)來定,如freebsd/i386下為64字節(jié),freebsd/amd64下為128字節(jié)。

proxy_cache

語法:proxy_cache zone_name; 

默認(rèn)值:none 

使用字段:http, server, location 

設(shè)置一個(gè)緩存區(qū)域的名稱,一個(gè)相同的區(qū)域可以在不同的地方使用。 

在0.7.48后,緩存遵循后端的”expires”, “cache-control: no-cache”, “cache-control: max-age=xxx”頭部字段,0.7.66版本以后,”cache-control:“private”和”no-store”頭同樣被遵循。nginx在緩存過程中不會(huì)處理”vary”頭,為了確保一些私有數(shù)據(jù)不被所有的用戶看到,后端必須設(shè)置 “no-cache”或者”max-age=0”頭,或者proxy_cache_key包含用戶指定的數(shù)據(jù)如$cookie_xxx,使用cookie的值作為proxy_cache_key的一部分可以防止緩存私有數(shù)據(jù),所以可以在不同的location中分別指定proxy_cache_key的值以便分開私有數(shù)據(jù)和公有數(shù)據(jù)。 

緩存指令依賴代理緩沖區(qū)(buffers),如果proxy_buffers設(shè)置為off,緩存不會(huì)生效。

proxy_cache_valid

語法:proxy_cache_valid reply_code [reply_code …] time; 

默認(rèn)值:none 

使用字段:http, server, location 

為不同的應(yīng)答設(shè)置不同的緩存時(shí)間,例如:

proxy_cache_valid 200 302 10m;
proxy_cache_valid 404   1m;

為應(yīng)答代碼為200和302的設(shè)置緩存時(shí)間為10分鐘,404代碼緩存1分鐘。 

如果只定義時(shí)間:

proxy_cache_valid 5m;

那么只對(duì)代碼為200, 301和302的應(yīng)答進(jìn)行緩存。 

同樣可以使用any參數(shù)任何應(yīng)答。

proxy_cache_valid 200 302 10m;
proxy_cache_valid 301 1h;
proxy_cache_valid any 1m;

2.定義一個(gè)簡單nginx緩存服務(wù)器

[root@nginx ~]# vim /etc/nginx/nginx.conf
proxy_cache_path /data/nginx/cache/webserver levels=1:2 keys_zone=webserver:20m max_size=1g;
  server {
    listen    80;
    server_name localhost;
    #charset koi8-r;
    #access_log logs/host.access.log main;
    location / {
        proxy_pass   http://webservers;
        proxy_set_header x-real-ip $remote_addr;
        proxy_cache webserver;
        proxy_cache_valid 200 10m;
    }
}

3.新建緩存目錄

[root@nginx ~]# mkdir -pv /data/nginx/cache/webserver

4.重新加載一下配置文件

[root@nginx webserver]# service nginx reload
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
重新載入 nginx:                      [確定]

5.下面我們來測試一下(谷歌瀏覽器)

nginx頁面緩存怎么配置

注,大家用谷歌瀏覽器測試的時(shí)候,可以按f12調(diào)用開發(fā)工具,選擇network選項(xiàng),我們可以看到,response headers,在這里我們可以看到,我們請(qǐng)求的是否是緩存,但現(xiàn)在還看不到,下面我們來配置一下,再來測試。

6. 緩存變量說明

$server_addr

服務(wù)器地址,在完成一次系統(tǒng)調(diào)用后可以確定這個(gè)值,如果要繞開系統(tǒng)調(diào)用,則必須在listen中指定地址并且使用bind參數(shù)。

$upstream_cache_status

0.8.3版本中其值可能為:

  • miss 未命中

  • expired - expired。請(qǐng)求被傳送到后端。

  • updating - expired。由于proxy/fastcgi_cache_use_stale正在更新,將使用舊的應(yīng)答。

  • stale - expired。由于proxy/fastcgi_cache_use_stale,后端將得到過期的應(yīng)答。

  • hit 命中

[root@nginx ~]# vim /etc/nginx/nginx.conf
proxy_cache_path /data/nginx/cache/webserver levels=1:2 keys_zone=webserver:20m max_size=1g;
  server {
    listen    80;
    server_name localhost;
    #charset koi8-r;
    #access_log logs/host.access.log main;
    #增加兩頭部
    add_header x-via $server_addr;
    add_header x-cache $upstream_cache_status;
    location / {
        proxy_pass   http://webservers;
        proxy_set_header x-real-ip $remote_addr;
        proxy_cache webserver;
        proxy_cache_valid 200 10m;
    }
}

7.重新加載一下配置文件

[root@nginx ~]# service nginx reload
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
重新載入 nginx:                      [確定]

8.測試一下

nginx頁面緩存怎么配置

注,從圖中我們可以看到,我們?cè)L問的服務(wù)器是192.168.18.208,緩存命中。大家可以看到是不是很直觀啊。下面我們看一下緩存目錄。

9.查看一下緩存目錄

[root@nginx ~]# cd /data/nginx/cache/webserver/f/63/
[root@nginx 63]# ls
681ad4c77694b65d61c9985553a2763f

注,緩存目錄里確實(shí)有緩存文件。

關(guān)于“nginx頁面緩存怎么配置”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“nginx頁面緩存怎么配置”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當(dāng)前文章:nginx頁面緩存怎么配置
標(biāo)題鏈接:http://chinadenli.net/article14/ihojge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)網(wǎng)站營銷外貿(mào)網(wǎng)站建設(shè)小程序開發(fā)定制開發(fā)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計(jì)公司