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

什么是Nginx代理緩存機(jī)制

本篇內(nèi)容介紹了“什么是Nginx代理緩存機(jī)制”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

成都創(chuàng)新互聯(lián)客戶idc服務(wù)中心,提供遂寧聯(lián)通機(jī)房、成都服務(wù)器、成都主機(jī)托管、成都雙線服務(wù)器等業(yè)務(wù)的一站式服務(wù)。通過各地的服務(wù)中心,我們向成都用戶提供優(yōu)質(zhì)廉價的產(chǎn)品以及開放、透明、穩(wěn)定、高性價比的服務(wù),資深網(wǎng)絡(luò)工程師在機(jī)房提供7*24小時標(biāo)準(zhǔn)級技術(shù)保障。

1. Nginx 緩存簡介


  • nginx 的 http_proxy 模塊,可實(shí)現(xiàn)類似于 Squid 的緩存功能。

  • Nginx 對客戶已經(jīng)訪問過的內(nèi)容在 Nginx 服務(wù)器本地建立副本,這樣在一段時間內(nèi)再次訪問該數(shù)據(jù),就不需要通過 Nginx 服務(wù)器再次向后端服務(wù)器發(fā)出請求,所以能夠減少 Nginx 服務(wù)器與后端服務(wù)器之間的網(wǎng)絡(luò)流量,減輕網(wǎng)絡(luò)擁塞,同時還能較小數(shù)據(jù)傳輸延遲,提高用戶訪問速度。

  • 同時,后端服務(wù)器宕機(jī)時,Nginx 服務(wù)器上的副本資源還能夠回應(yīng)相關(guān)的用戶請求,這樣能夠提高后端服務(wù)器的魯棒性(健壯性)。

什么是Nginx代理緩存機(jī)制

2. Nginx 緩存


1. 緩存文件放在哪兒?
  • proxy_cache_path:Nginx 使用該參數(shù)指定緩存位置。

  • proxy_cache:該參數(shù)為之前指定的緩存名稱。

  • proxy_cache_path:有兩個必填參數(shù)

    • 第一個參數(shù)weight緩存目錄。

    • 第二個參數(shù) keys_zone 指定緩存名稱和占用內(nèi)存空間的大小。

user www-data;
worker_processes auto;
pid /run/nginx.pid;

http {
    proxy_cache_path /data/nginx/cache keys_zone=one:10m max_size=10g;
    
    upstream zp.purple.com {
        server 127.0.0.1:8881;
        server 127.0.0.1:8882;
        server 127.0.0.1:8883;
    }
    
    server {
        listen 80;
        proxy_cache one;
        server_name zp.purple.com;
        
        location / {
            proxy_pass http://zp.purple.com;
            proxy_set_header Host $host;
            proxy_set_header X-Real_IP $remote_addr;
        }
    }

}
  • 注:示例中的 10m 是對內(nèi)存中緩存元數(shù)據(jù)信息大小的限制,如果想限制緩存總量大小,需要用 max_size 參數(shù)。

2. 如何指定哪些請求被緩存?
  • Nginx 默認(rèn)會緩存所有 get 和 head 方法的請求結(jié)果,緩存的 key 默認(rèn)使用請求字符串。

    • 自定義 key:例如 proxy_cache_key "$host$request_uri$cookie_user";

  • 指定請求至少被發(fā)送了多少次以上時才緩存,可以防止低頻請求被緩存。

    • 例如 proxy_cache_min_user 5;

  • 指定哪些方法的請求被緩存

    • 例如 proxy_cache_methods GET HEAD POST;

user www-data;
worker_processes auto;
pid /run/nginx.pid;

http {
    proxy_cache_path /data/nginx/cache keys_zone=one:10m max_size=10g;
    
    upstream zp.purple.com {
        server 127.0.0.1:8881;
        server 127.0.0.1:8882;
        server 127.0.0.1:8883;
    }
    
    server {
        listen 80;
        proxy_cache one;
        server_name zp.purple.com;
        
        location / {
            proxy_pass http://zp.purple.com;
            proxy_set_header Host $host;
            proxy_set_header X-Real_IP $remote_addr;
            proxy_cache_key $host$request_uri$cookie_user;
        }
    }

}
3. 緩存有效期
  • 默認(rèn)情況下,緩存內(nèi)容是長期存留的,除非緩存的總量超出限制。可以指定緩存有效時間,例如:

    proxy_cache_valid 200 302 10m;

     

    proxy_cache_valid any 5m;

    • 對任何狀態(tài)碼,5 分鐘有效。

    • 響應(yīng)狀態(tài)碼為 200 302 時,10 分鐘有效。

user www-data;
worker_processes auto;
pid /run/nginx.pid;

http {
    proxy_cache_path /data/nginx/cache keys_zone=one:10m max_size=10g;
    
    upstream zp.purple.com {
        server 127.0.0.1:8881;
        server 127.0.0.1:8882;
        server 127.0.0.1:8883;
    }
    
    server {
        listen 80;
        proxy_cache one;
        server_name zp.purple.com;
        
        location / {
            proxy_pass http://zp.purple.com;
            proxy_set_header Host $host;
            proxy_set_header X-Real_IP $remote_addr;
            proxy_cache_valid 200 302 10m;
        }
    }

}
4. 對于某些請求,是否可以不走緩存?
  • proxy_cache_bypass:該指令響應(yīng)來自原始服務(wù)器而不是緩存。

  • 例如 proxy_cache_bypass $cookie_nocache $arg_nocache $arg_comment;

  • 如果任何一個參數(shù)值不為空,或者不等于 0,nginx 就不會查找緩存,直接進(jìn)行代理轉(zhuǎn)發(fā)。

user www-data;
worker_processes auto;
pid /run/nginx.pid;

http {
    proxy_cache_path /data/nginx/cache keys_zone=one:10m max_size=10g;
    
    upstream zp.purple.com {
        server 127.0.0.1:8881;
        server 127.0.0.1:8882;
        server 127.0.0.1:8883;
    }
    
    server {
        listen 80;
        proxy_cache one;
        server_name zp.purple.com;
        
        location / {
            proxy_pass http://zp.purple.com;
            proxy_set_header Host $host;
            proxy_set_header X-Real_IP $remote_addr;
            proxy_cache_bypass $cookie_nocache $arg_nocache $arg_comment;
        }
    }

}

3. 網(wǎng)頁緩存


  • 網(wǎng)頁的緩存是由 HTTP 消息頭中的“Cache-control”來控制的,常見的取值有 private、no-cache、max-age、must-revalidate 等,默認(rèn)為 private。其作用根據(jù)不同的重新瀏覽方式分為以下幾種情況。

Cache-durective說明
public所有內(nèi)容都將被緩存(客戶端和代理服務(wù)器都可緩存)
private內(nèi)容只緩存到私有緩存中(僅客戶端可以緩存,代理服務(wù)器不可緩存)
no-cache必須先與服務(wù)器確認(rèn)返回的響應(yīng)是否被更改,然后才能使用該響應(yīng)來滿足后續(xù)對同一個網(wǎng)址的請求。因此,如果存在合適的驗(yàn)證令牌(ETag),no-cache 會發(fā)起往返通信來驗(yàn)證緩存的響應(yīng),如果資源未被修改,可以避免下載。
no-store所有內(nèi)容都不會被緩存到緩存或 Internet 臨時文件中。
must-revalidation/proxy-revalidation如果緩存的內(nèi)容失效,請求必須發(fā)送到服務(wù)器/代理以進(jìn)行重新驗(yàn)證
max-age=xxx(xxx is numeric)緩存的內(nèi)容將在 xxx 秒后失效,這個選項只在 HTTP1.1 可用,并如果和 Last-Modified 一起使用時,優(yōu)先級較高

“什么是Nginx代理緩存機(jī)制”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

網(wǎng)頁名稱:什么是Nginx代理緩存機(jī)制
文章轉(zhuǎn)載:http://chinadenli.net/article14/geoege.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊外貿(mào)建站用戶體驗(yàn)網(wǎng)站設(shè)計公司面包屑導(dǎo)航關(guān)鍵詞優(yōu)化

廣告

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

小程序開發(fā)