open_file_cache_errors

'open_file_cache_errors' 指令控制在 NGINX 打开文件时是否缓存错误状态。 — NGINX HTTP Core

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

说明

'open_file_cache_errors' 指令是 NGINX 中的一项性能优化功能,用于决定服务器在尝试访问文件时是否缓存错误响应。启用后,NGINX 会缓存与文件访问尝试相关的错误状态,这可以提高对同一可能不存在或不可读的文件的重复请求的响应时间。这样就不需要在每次请求文件时都检查文件系统,从而减少磁盘 I/O 并在高负载条件下提升性能。 该指令接受一个标志作为参数:"on" 表示启用这些错误的缓存,"off" 表示禁用。默认情况下,此指令为关闭状态,意味着错误状态不会被缓存,每次文件访问请求都会重新检查文件系统,这可能导致较高的延迟,尤其是在多次请求针对相同缺失或无法访问文件的情况下。在错误状态可靠性至关重要的场景(例如动态生成的内容)中应谨慎使用,因为如果配置不当可能返回过时的错误。

配置示例

http {
    open_file_cache_errors on;
}

server {
    location / {
        open_file_cache_errors on;
    }
}

缓存错误可能导致响应过时,尤其是在文件状态发生变化但缓存未刷新时。

如果启用,长时间存在的错误响应如果未被正确缓存,可能会导致不必要的磁盘 I/O。