proxy_cache_path
当使用 NGINX 的代理缓存功能时,`proxy_cache_path` 指令设置用于存储缓存响应的路径。 — NGINX HTTP Core
proxy_cache_path
http
语法proxy_cache_path path [levels=levels] [keys_zone=name:size] [inactive=time] [max_size=size] [use_temp_path=on|off];
默认值none
上下文http
模块NGINX HTTP Core
参数2+
说明
`proxy_cache_path` 指令在 NGINX 中定义了文件系统上的一个特定路径,用于存放缓存数据。该指令必须在 http 上下文中指定,并且可以接受多个参数,这些参数决定了缓存系统如何管理和存储缓存数据。 `proxy_cache_path` 的参数包括缓存目录的路径、用于缓存的子目录层级、用于管理缓存的 key zone,以及像 `inactive` 这样的可选参数,用于定义缓存项在被视为过期之前应保留多长时间。通过指定子目录层级,NGINX 可以更有效地管理用于缓存的存储空间,这对于高访问量环境下的性能至关重要。 当请求一个缓存的响应时,NGINX 会在指定的缓存路径中检查该响应是否已被缓存;如果已缓存,则直接返回缓存内容,跳过向上游的请求。这可以显著降低延迟和后端服务器的负载,同时改善客户端的整体响应时间。
配置示例
http {
proxy_cache_path /tmp/nginx_cache levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m;
server {
location / {
proxy_pass http://backend;
proxy_cache my_cache;
}
}
}⚠
确保指定的缓存路径存在,并且可被 NGINX 工作进程写入。
⚠
注意缓存大小限制,因为超过 `max_size` 可能导致意外的缓存驱逐。
⚠
在缓存路径中使用不足的目录层级可能会由于过多的文件 I/O 而导致性能下降。