序
本文主要解析一下nginx ngx_http_proxy_module中的cache相關(guān)配置參數(shù)。
proxy_cache名稱(chēng) | 默認(rèn)配置 | 作用域 | 官方說(shuō)明 | 中文解讀 | 模塊 |
---|---|---|---|---|---|
proxy_cache | proxy_cache off; | http, server, location | Defines a shared memory zone used for caching. The same zone can be used in several places. Parameter value can contain variables (1.7.9). The off parameter disables caching inherited from the previous configuration level. | 設(shè)置是否開(kāi)啟對(duì)后端響應(yīng)的緩存,如果開(kāi)啟的話(huà),參數(shù)值就是zone的名稱(chēng),比如proxy_cache mycache | ngx_http_proxy_module |
proxy_cache_valid | 沒(méi)有默認(rèn)值,實(shí)例如proxy_cache_valid 200 302 10m; | http, server, location | Sets caching time for different response codes. | 針對(duì)不同的response code設(shè)定不同的緩存時(shí)間,如果不設(shè)置code,默認(rèn)為200,301,302,也可以用any指定所有code | ngx_http_proxy_module |
proxy_cache_key | proxy_cache_key $scheme$proxy_host$request_uri; | http, server, location | Defines a key for caching | 給緩存設(shè)定key,默認(rèn)值相當(dāng)于proxy_cache_key $scheme$proxy_host$uri$is_args$args; | ngx_http_proxy_module |
proxy_cache_path | 沒(méi)有默認(rèn)值,實(shí)例proxy_cache_path /var/cache levels=1:2 keys_zone=imgcache:100m inactive=2h max_size=1g; | http | Sets the path and other parameters of a cache. Cache data are stored in files. The file name in a cache is a result of applying the MD5 function to the cache key. The levels parameter defines hierarchy levels of a cache: from 1 to 3, each level accepts values 1 or 2. | 指定緩存存儲(chǔ)的路徑,文件名為cache key的md5值,然后多級(jí)目錄的話(huà),根據(jù)level參數(shù)來(lái)生成,比如levels=1:2:3,第一個(gè)目錄名取md5值的倒數(shù)第一個(gè)值,第二個(gè)目錄名取md5值的第2和3個(gè)值,第三個(gè)目錄名取md5值的第4,5,6個(gè)值;key_zone參數(shù)用來(lái)指定在共享內(nèi)存中緩存的元數(shù)據(jù)的名稱(chēng)和內(nèi)存大小,比如keys_zone=imgcache:100m,所有的緩存查找首先經(jīng)過(guò)這里查找元數(shù)據(jù),如果命中再去文件系統(tǒng)查找相應(yīng)的緩存 ;inactive用來(lái)指定緩存沒(méi)有被訪問(wèn)超時(shí)移除的時(shí)間,默認(rèn)是10分鐘,也可以自己指定比如inactive=2h ;max_size 用來(lái)指定緩存的最大值,超過(guò)這個(gè)值則會(huì)自動(dòng)移除最近最少使用的緩存 | ngx_http_proxy_module |
proxy_cache_bypass | 沒(méi)有默認(rèn)值 | http, server, location | Defines conditions under which the response will not be taken from a cache. If at least one value of the string parameters is not empty and is not equal to “0” then the response will not be taken from the cache. | 指定哪些響應(yīng)在某些值不為空或不為0的情況下不走緩存,比如proxy_cache_bypass $http\_pragma $http_authorization; | ngx_http_proxy_module |
proxy_cache_min_uses | proxy_cache_min_uses 1; | http, server, location | Sets the number of requests after which the response will be cached. | 指定在多少次請(qǐng)求之后才緩存響應(yīng)內(nèi)容 | ngx_http_proxy_module |
proxy_cache_use_stale | proxy_cache_use_stale off; | http, server, location | Determines in which cases a stale cached response can be used during communication with the proxied server. The directive’s parameters match the parameters of the proxy_next_upstream directive. | 指定在后端服務(wù)器在返回什么狀態(tài)碼的情況下可以使用過(guò)期的緩存,比如proxy_cache_use_stale error timeout invalid_header http_500 http_502 http_503 http_504; | ngx_http_proxy_module |
proxy_cache_lock | proxy_cache_lock off; | http, server, location | When enabled, only one request at a time will be allowed to populate a new cache element identified according to the proxy_cache_key directive by passing a request to a proxied server. Other requests of the same cache element will either wait for a response to appear in the cache or the cache lock for this element to be released, up to the time set by the proxy_cache_lock_timeout directive. | 默認(rèn)不開(kāi)啟,開(kāi)啟的話(huà)則每次只能有一個(gè)請(qǐng)求更新相同的緩存,其他請(qǐng)求要么等待緩存有數(shù)據(jù)要么限時(shí)等待鎖釋放;nginx 1.1.12才開(kāi)始有 | ngx_http_proxy_module |
proxy_cache_lock_timeout | proxy_cache_lock_timeout 5s; | http, server, location | Sets a timeout for proxy_cache_lock. When the time expires, the request will be passed to the proxied server, however, the response will not be cached. | 等待緩存鎖超時(shí)之后將直接請(qǐng)求后端,結(jié)果不會(huì)被緩存 ; nginx 1.1.12才開(kāi)始有 | ngx_http_proxy_module |
http { # we set this to be on the same filesystem as proxy_cache_path proxy_temp_path /usr/local/nginx/proxy_temp; # good security practice dictates that this directory is owned by the # same user as the user directive (under which the workers run) proxy_cache_path /usr/local/nginx/proxy_temp keys_zone=CACHE:10m levels=1:2 inactive=6h max_size=1g; server { location / { # using include to bring in a file with commonly-used settings include proxy.conf; # referencing the shared memory zone defined above proxy_cache CACHE; proxy_cache_valid any 1d; proxy_cache_bypass $http_pragma $http_authorization; proxy_cache_min_uses 3; proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504; proxy_pass http://upstream; } } }doc
ngx_http_proxy_module
nginx反向代理緩存配置
Understanding the nginx proxy_cache_path directive
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/39755.html
序 本文主要解析一下nginx ngx_http_gzip_module以及ngx_http_gzip_static_module中的gzip相關(guān)配置參數(shù)。 gzip 名稱(chēng) 默認(rèn)配置 作用域 官方說(shuō)明 中文解讀 模塊 gzip gzip off; http, server, location, if in location Enables or disables gzipping of ...
摘要:對(duì)于需要進(jìn)一步注意的是參數(shù)的使用,可以傳入所定義的所有的狀態(tài)碼常量如等和兩個(gè)模塊內(nèi)核常量只支持和這兩個(gè),如果傳入其他的如等則進(jìn)程住。 序 本文主要解讀下nginx lua module的主要方法和api。 ngx_lua運(yùn)行階段 showImg(https://segmentfault.com/img/bVHFqI?w=1005&h=910); initialization phase...
摘要:名稱(chēng)默認(rèn)配置作用域官方說(shuō)明中文解讀模塊是否開(kāi)啟對(duì)后端的緩沖指定一個(gè)連接到代理服務(wù)器的超時(shí)時(shí)間,單位為秒,需要注意的是這個(gè)時(shí)間最好不要超過(guò)秒。 序 本文主要解析一下nginx http模塊配置參數(shù)。主要分socket相關(guān)參數(shù),對(duì)clinet請(qǐng)求的buffer參數(shù)以及對(duì)response的buffer參數(shù)。 socket 名稱(chēng) 默認(rèn)配置 作用域 官方說(shuō)明 中文解讀 模塊 sendf...
摘要:設(shè)置一個(gè)共享內(nèi)存區(qū),該內(nèi)存區(qū)用于存儲(chǔ)緩存鍵和元數(shù)據(jù),有些類(lèi)似計(jì)時(shí)器的用途。注意,非活動(dòng)內(nèi)容有別于過(guò)期內(nèi)容。在兩次緩存管理器啟動(dòng)的間隔,緩存的數(shù)據(jù)量可能短暫超過(guò)配置的大小。為在緩存響應(yīng)之前必須使用相同密鑰的請(qǐng)求的最小次數(shù)。 原文鏈接:何曉東 博客 使用場(chǎng)景:項(xiàng)目的頁(yè)面需要加載很多數(shù)據(jù),也不是經(jīng)常變化的,不涉及個(gè)性化定制,為每次請(qǐng)求去動(dòng)態(tài)生成數(shù)據(jù),性能比不上根據(jù)請(qǐng)求路由和參數(shù)緩存一下結(jié)果,...
摘要:設(shè)置一個(gè)共享內(nèi)存區(qū),該內(nèi)存區(qū)用于存儲(chǔ)緩存鍵和元數(shù)據(jù),有些類(lèi)似計(jì)時(shí)器的用途。注意,非活動(dòng)內(nèi)容有別于過(guò)期內(nèi)容。在兩次緩存管理器啟動(dòng)的間隔,緩存的數(shù)據(jù)量可能短暫超過(guò)配置的大小。為在緩存響應(yīng)之前必須使用相同密鑰的請(qǐng)求的最小次數(shù)。 原文鏈接:何曉東 博客 使用場(chǎng)景:項(xiàng)目的頁(yè)面需要加載很多數(shù)據(jù),也不是經(jīng)常變化的,不涉及個(gè)性化定制,為每次請(qǐng)求去動(dòng)態(tài)生成數(shù)據(jù),性能比不上根據(jù)請(qǐng)求路由和參數(shù)緩存一下結(jié)果,...
閱讀 1772·2021-10-11 10:59
閱讀 2415·2021-09-30 09:53
閱讀 1776·2021-09-22 15:28
閱讀 2804·2019-08-29 15:29
閱讀 1567·2019-08-29 13:53
閱讀 3214·2019-08-29 12:34
閱讀 2864·2019-08-26 10:16
閱讀 2672·2019-08-23 15:16