最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解ngx_cache_purge _proxy_cache指令使用

 更新時間:2022年07月24日 16:50:08   作者:單車登月  
本文主要介紹了詳解ngx_cache_purge _proxy_cache指令使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1. proxy_cache 指令

該指令用于配置一塊公用的內(nèi)存區(qū)域的名稱,該區(qū)域可以存放緩存的索引數(shù)據(jù)。這些數(shù)據(jù)在Nginx服務(wù)器啟動時由緩存索引重建進(jìn)程負(fù)責(zé)建立,在Nginx服務(wù)器的整個運行過程中由緩存管理進(jìn)程負(fù)責(zé)定時檢測過期數(shù)據(jù),檢索等管理工作。

proxy_cache zone | off;
zone,設(shè)置的用于存放緩存索引的內(nèi)存區(qū)域的名稱。
off,關(guān)閉proxy_cache 功能,是默認(rèn)的設(shè)置。

2. proxy_cache_bypass指令

該指令用于配置Nginx服務(wù)器向客戶端發(fā)送響應(yīng)數(shù)據(jù)時,不從緩存中獲取的條件。這些條件支持使用Nginx 配置的常用變量。

proxy_cache_bypass string …;
string為條件變量,支持設(shè)置多個,當(dāng)至少有一個字符串指令不為空或者不等于О時,響應(yīng)數(shù)據(jù)不從緩存中獲取。
看一個例子: proxy_cache _bypass $cookie_nocache $arg nocache $Sarg_comment

$http_pragma $http.authorization;
其中,Scookie_nocache、Sarg_nocache、Sarg_comment、Shttp_pragma
和Shttp_authorization 都是Nginx配置文件的變量,

3. proxy_cache_key指令

該指令用于設(shè)置Nginx服務(wù)器在內(nèi)存中為緩存數(shù)據(jù)建立索引時使用的關(guān)鍵字

proxy cache key string;
string為設(shè)置的關(guān)鍵字,支持變量。

如果我們希望緩存數(shù)據(jù)包含服務(wù)器主機(jī)名稱等關(guān)鍵字,則可以將該指令設(shè)置為:
proxy_cache_key “s c h e m e schemeschemehost$request”;

4. proxy_cache_lock指令

該指令用于設(shè)置是否開啟緩存的鎖功能。在緩存中,某些數(shù)據(jù)項可以同時被多個請求返回的響應(yīng)數(shù)據(jù)填充。開啟該功能后,Nginx服務(wù)器同時只能有一個請求填充緩存中的某一數(shù)據(jù)項,這相當(dāng)于給該數(shù)據(jù)項上鎖,不允許其他請求操作。其他的請求如果也想填充該項,必須等待該數(shù)據(jù)項的鎖被釋放。這個等待時間由
proxy_cache_lock_timeout 指令配置。

proxy_cache_lock on | off;
默認(rèn)情況下為關(guān)閉

5. proxy_cache_lock_timeout指令

該指令用于設(shè)置緩存的鎖功能開啟以后鎖的超時時間。具體細(xì)節(jié)參見proxy_cache_lock 指令的相關(guān)內(nèi)容

proxy cache_ lock_timeout time;
其中,time為設(shè)置的時間,默認(rèn)為5s。

6. proxy_cache_min_uses指令

該指令用于設(shè)置客戶端請求發(fā)送的次數(shù),當(dāng)客戶端向被代理服務(wù)器發(fā)送相同請求達(dá)到該指令設(shè)定的次數(shù)后,Nginx服務(wù)器才對該請求的響應(yīng)數(shù)據(jù)做緩存。合理設(shè)置該值可以有效地降低硬盤上緩存數(shù)據(jù)的數(shù)量,并提高緩存的命中率。

proxy_cache_min_uses number;
其中,number為設(shè)置的次數(shù)。默認(rèn)設(shè)置為1。

7. proxy_cache_path指令

該指令用于設(shè)置Nginx服務(wù)器存儲緩存數(shù)據(jù)的路徑以及和緩存索引相關(guān)的內(nèi)容

proxy_cache_path [levels=levels] keys_zone=name:sizel [inactive=time1] [max_size=size2][loader_files=number] [loader_sleep=time2][loader_threshold-time3];
  • path,設(shè)置緩存數(shù)據(jù)存放的根路徑,該路徑應(yīng)該是預(yù)先存在于磁盤上的。levels,設(shè)置在相對于path指定目錄的第幾級hash目錄中緩存數(shù)據(jù)。
  • levels=1:表示一級hash目錄;levels=1:2,表示兩級,依次類推。目錄的名稱是基于請求URL通過哈希算法獲取到的。
  • name:sizel,Nginx服務(wù)器的緩存索引重建進(jìn)程在內(nèi)存中為緩存數(shù)據(jù)建立索引,這一對變量用來設(shè)置存放緩存索引的內(nèi)存區(qū)域的名稱和大小。
  • timel,設(shè)置強(qiáng)制更新緩存數(shù)據(jù)的時間,當(dāng)硬盤上的緩存數(shù)據(jù)在設(shè)定的時間內(nèi)沒有被訪問時,Nginx服務(wù)器就強(qiáng)制從硬盤上將其刪除,下次客戶端訪問該數(shù)據(jù)時重新緩存。該指令默認(rèn)設(shè)置為10s。
  • size2、設(shè)置硬盤中緩存數(shù)據(jù)的大小限制。我們知道,硬盤中的緩存源數(shù)據(jù)由Nginx服務(wù)器的緩存管理進(jìn)程進(jìn)行管理,當(dāng)緩存的大小超過該變量的設(shè)置時,緩存管理進(jìn)程將根據(jù)最近最少被訪問的策略刪除緩存。
  • number,設(shè)置緩存索引重建進(jìn)程每次加載的數(shù)據(jù)元素的數(shù)量上限。在重建緩存索引的過程中,進(jìn)程通過一系列的遞歸遍歷讀取硬盤上的緩存數(shù)據(jù)目錄及緩存數(shù)據(jù)文件,對每個數(shù)據(jù)文件中的緩存數(shù)據(jù)在內(nèi)存中建立對應(yīng)的索引,我們稱每建立一個索引為加載一個數(shù)據(jù)元素。進(jìn)程在每次遍歷過程中可以同時加載多個數(shù)據(jù)元素,該值限制了每次遍歷中同時加載的數(shù)據(jù)元素的數(shù)量。默認(rèn)設(shè)置為100。
  • time2,設(shè)置緩存索引重建進(jìn)程在一次遍歷結(jié)束、下次遍歷開始之間的暫停時長。默認(rèn)設(shè)置為50ms.
  • time3,設(shè)置遍歷一次磁盤緩存源數(shù)據(jù)的時間上限。默認(rèn)設(shè)置為200ms

該指令設(shè)置比較復(fù)雜,一般需要設(shè)置前面三個指令的情形比較多,后面的幾個變量與Nginx服務(wù)器緩存索引重建進(jìn)程及管理進(jìn)程的性能相關(guān),一般情況下保持默認(rèn)設(shè)置就可以了。我們來看幾個簡單的配置實例:

proxy_cache path /nginx/cache/a levels=1 keys_zone=a:10m;
proxy_cache_path /nginx/cache /b levels-2:2 keys_zone=b:100m;
proxy _cache_path /nginx/cache/c levels=1:1:2 keys_zone=c:1000m;

8. proxy_cache_use_stale指令

如果Nginx在訪問被代理服務(wù)器過程中出現(xiàn)被代理的服務(wù)器無法訪問或者訪問錯誤等現(xiàn)象時,Nginx服務(wù)器可以使用歷史緩存響應(yīng)客戶端的請求,這些數(shù)據(jù)不一定和被代理服務(wù)器上最新的數(shù)據(jù)相一致,但對于更新頻率不高的后端服務(wù)器來說,Nginx服務(wù)器的該功能在一定程度上能夠為客戶端提供不間斷訪問。該指令用來設(shè)置一些狀態(tài),當(dāng)后端被代理的服務(wù)器處于這些狀態(tài)時,Nginx服務(wù)器啟用該功能。

該指令可以支持的狀態(tài)如語法結(jié)構(gòu)中所示。

proxy_cache_use_stale error| timeout | invalid_header | updating | http_500 | http_502 | http_503 | http_504 | http_404 | off..·:

9. proxy_cache_valid指令

該指令可以針對不同的HTTP響應(yīng)狀態(tài)設(shè)置不同的緩存時間

proxy_cache_valid [code…] time;

  • code,設(shè)置HTTP響應(yīng)的狀態(tài)代碼。該指令可選,如果不設(shè)置,Nginx服務(wù)器只為HTTP狀態(tài)代碼為200、301和302的響應(yīng)數(shù)據(jù)做緩存??梢允褂?ldquo;any”表示緩存所有該指令中未設(shè)置的其他響應(yīng)數(shù)據(jù)。
  • time,設(shè)置緩存時間。看幾個例子:
proxy_cache_valid 200 302 10m;
proxy_cache_valid 301 1h;
proxy_cache_valid any 1m;

上述例子中,對返回狀態(tài)為200和302的響應(yīng)數(shù)據(jù)緩存10分鐘,對返回狀態(tài)為301的響應(yīng)數(shù)據(jù)緩存1小時,對返回狀態(tài)為非200、302和301的響應(yīng)數(shù)據(jù)緩存1分鐘。

10. proxy_no_cache

該指令同于配置在什么情況下不使用cache功能

proxy_no_cache $string…;
string 可以是一個或者都多個變量。當(dāng)string的值不為空或者不為0時,不啟用cache功能

11. proxy_store 指令

該指令配置是否在本地磁盤緩存來自被代理服務(wù)器的響應(yīng)數(shù)據(jù)。這是Nginx服務(wù)器提供的另一種緩存數(shù)據(jù)的方法,但是該功能相對 Proxy
Cache簡單一些,它不提供緩存過期更新、內(nèi)存索引建立等功能,不占用內(nèi)存空間,對靜態(tài)數(shù)據(jù)的效果比較好。

proxy_store on | off | string;

  • on | off,設(shè)置是否開啟ProxyStore功能。如果使用變量on,功能開啟,緩存文件會存放到alias指令或root指令設(shè)置的本地路徑下。默認(rèn)設(shè)置為off。
  • string,自定義緩存文件的存放路徑。如果使用變量string,Proxy Store功能開啟,緩存文件會存放到指定的本地路徑下。

Proxy Store方法多使用在被代理服務(wù)器端發(fā)生錯誤的情況下,用來緩存被代理服務(wù)器的響應(yīng)數(shù)據(jù)。

12. proxy_store_access指令

該指令用于設(shè)置用戶或用戶組對Proxy Store緩存的數(shù)據(jù)的訪問權(quán)限

proxy_store_access users:permissions …

  • users,可以設(shè)置為user、group或者all。
  • permissions,設(shè)置權(quán)限。

有關(guān)Proxy Store方法的使用,我們通過官方給出的實例加深理解,在該實例中筆者通過注釋對配置做了說明:

location /images/
{
? root /data/www;
? error_page 404 = /fetch$uri; ? ? ?#定義了404錯誤的請求頁面
}

location /fetch/ ? ? ? ? ? ? ? ? ? ?#匹配404錯誤時的請求
{
? proxy_pass http://backend;
? proxy_store on; ? ? ? ? ? ? ? ? ? #開啟Proxy store方法
? proxy_store_access user:rw group:rw all:r;
? root/data/www; ? ? ? ? ? ? ? ? ? ?#緩存數(shù)據(jù)的路徑
}

到此這篇關(guān)于詳解ngx_cache_purge _proxy_cache指令使用的文章就介紹到這了,更多相關(guān)ngx_cache_purge _proxy_cache指令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Nginx反向代理出現(xiàn)502?Bad?Gateway問題解決

    Nginx反向代理出現(xiàn)502?Bad?Gateway問題解決

    在配置Nginx反向代理時遇到502 Bad Gateway錯誤,經(jīng)過排查發(fā)現(xiàn)是SSL握手問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-10-10
  • nginx?添加http_stub_status_module模塊

    nginx?添加http_stub_status_module模塊

    本文主要介紹了nginx?添加http_stub_status_module模塊,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • Nginx 操作響應(yīng)頭信息的實現(xiàn)

    Nginx 操作響應(yīng)頭信息的實現(xiàn)

    這篇文章主要介紹了Nginx 操作響應(yīng)頭信息的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 通過lua來配置實現(xiàn)Nginx服務(wù)器的防盜鏈功能

    通過lua來配置實現(xiàn)Nginx服務(wù)器的防盜鏈功能

    這篇文章主要介紹了通過lua來配置實現(xiàn)Nginx服務(wù)器的防盜鏈功能的方法,這里主要講解生成鏈接的Nginx配置,需要的朋友可以參考下
    2016-01-01
  • nginx實現(xiàn)動靜分離的方法示例

    nginx實現(xiàn)動靜分離的方法示例

    Nginx的靜態(tài)處理能力很強(qiáng),但是動態(tài)處理能力不足,因此,在企業(yè)中常用動靜分離技術(shù),本文就詳細(xì)的介紹一下如何使用,感興趣的可以了解一下
    2021-11-11
  • Nginx的流式響應(yīng)配置實現(xiàn)小結(jié)

    Nginx的流式響應(yīng)配置實現(xiàn)小結(jié)

    nginx是一款自由的、開源的、高性能的HTTP服務(wù)器和反向代理服務(wù)器,本文主要介紹了Nginx的流式響應(yīng)配置實現(xiàn)小結(jié),具有一定的參考價值,感興趣的可以了解一下
    2024-04-04
  • Nginx 日志格式的實現(xiàn)

    Nginx 日志格式的實現(xiàn)

    本文主要介紹了Nginx 日志格式的實現(xiàn),包括訪問日志、錯誤日志和配置方法,具有一定的參考價值,感興趣的可以了解一下
    2025-02-02
  • nginx+lua+redis防刷和限流的實現(xiàn)

    nginx+lua+redis防刷和限流的實現(xiàn)

    本文將介紹如何使用nginx lua redis實現(xiàn)防刷和限流,首先,我們將了解防刷和限流的基本概念和必要性,然后,我們將詳細(xì)介紹如何使用nginx lua redis實現(xiàn)防刷和限流,感興趣的可以了解一下
    2023-09-09
  • nginx完全卸載的方法步驟

    nginx完全卸載的方法步驟

    由于現(xiàn)在nginx有版本漏洞,所以很多安裝過nginx的需要卸載重新安裝,本文主要介紹了nginx完全卸載的方法步驟,具有一定的參考價值,感興趣的可以了解一下
    2024-08-08
  • nginx升級到支持HTTP2.0的方法示例

    nginx升級到支持HTTP2.0的方法示例

    這篇文章主要介紹了nginx升級到支持HTTP2.0的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07

最新評論

肥东县| 金堂县| 疏附县| 丰台区| 罗定市| 连城县| 喀喇沁旗| 昌平区| 彭泽县| 禄丰县| 勃利县| 寻乌县| 上思县| 浮山县| 黔东| 辽宁省| 莆田市| 文登市| 会宁县| 宽城| 镶黄旗| 闸北区| 仙居县| 乌拉特前旗| 沙河市| 土默特右旗| 金沙县| 岫岩| 左贡县| 宣威市| 当雄县| 汾阳市| 西乡县| 延长县| 梅州市| 易门县| 江油市| 湘阴县| 阜城县| 平果县| 平泉县|