fastcgi_store

fastcgi_store 指令允许将 FastCGI 响应存储到磁盘上的指定位置。 — NGINX HTTP Core

fastcgi_store
httpserverlocation
语法fastcgi_store on | off;
默认值off
上下文http, server, location
模块NGINX HTTP Core
参数1

说明

`fastcgi_store` 指令用于定义 NGINX 在存储从 FastCGI 服务器接收的响应时的行为。当设置该指令时,它指示 NGINX 将 FastCGI 应用的响应主体保存到磁盘上的文件,从而提高对相同 FastCGI 资源的重复请求的处理效率。 指定时,第一个参数应为响应应被存储的有效文件路径或 URI。该功能支持各种文件系统能力;例如,它可以是基于请求变量动态生成的文件路径,或是静态路径。存储方式还可以涉及根据所需配置设置文件权限——在为从 FastCGI 响应提供静态文件而设置文件权限时非常有用。 此外,该指令对缓存有影响,因为它将响应作为文件存储,从而比标准的内存缓存提供更持久的缓存机制。然而,在配置这些存储文件的存储路径、权限和清理策略以在运行期间适当管理磁盘空间时,需要谨慎考虑。

配置示例

location /example {
    fastcgi_pass backend;
    fastcgi_index index.php;
    fastcgi_store on;
    fastcgi_store_access user:rw group:rw all:r;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

确保存储路径对 NGINX 进程是可写的;否则,响应将无法正确存储。

注意磁盘空间;随着文件累积,可能需要监控和清理策略以防止磁盘过度使用。

在存储中使用动态路径时,如果变量格式不正确,可能导致意外行为。