scgi_cache
'scgi_cache' 指令在 NGINX 中启用对来自 SCGI 服务器的响应的缓存。 — NGINX HTTP Core
scgi_cache
httpserverlocation
语法scgi_cache path;
默认值none
上下文http, server, location
模块NGINX HTTP Core
参数1
说明
`scgi_cache` 指令用于 NGINX 的 HTTP 服务器或 location 块的上下文中,启用对 SCGI (Simple Common Gateway Interface) 响应的缓存。当该指令设置为指向某个缓存区的路径时,来自上游 SCGI 服务器的所有响应都会被存储到该缓存中,从而在后续请求中降低延迟并减轻后端服务器的负载。缓存行为还可以通过额外的参数和指令进一步控制,例如 `scgi_cache_key`(决定缓存项的索引方式)和 `scgi_cache_path`(指定缓存存储位置和配置)。 该指令与其他 SCGI 相关配置配合工作。例如,指定 `scgi_pass` 将把流量定向到上游 SCGI 服务器,而 `scgi_cache_valid` 则可以根据 HTTP 状态码决定响应可以缓存多长时间。有效管理缓存大小和过期时间对于防止数据陈旧或内存使用过高至关重要。缓存可以显著提高性能,但需要细致的维护以确保有效性。
配置示例
http {
scgi_cache /var/cache/scgi;
server {
location /app {
scgi_pass backend;
scgi_cache my_cache;
scgi_cache_valid 200 1h;
}
}
}⚠
确保缓存路径对 NGINX 工作进程可写。
⚠
注意缓存失效策略;如果处理不当,可能会提供陈旧的数据。
⚠
不要将 'scgi_cache' 与 'proxy_cache' 混淆,它们适用于不同的协议。