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 而导致性能下降。