concat_max_files

为 NGINX HTTP 拼接模块设置单个请求中可拼接的最大文件数。

语法concat_max_files number;
默认值10
上下文http, server, location
参数1

说明

NGINX HTTP 拼接模块中的 concat_max_files 指令指定了可以合并为单个响应的文件数量上限。该指令在通过减少 HTTP 请求来优化 Web 性能时特别有用,因为它允许将多个资源合并为一个。该参数接受一个单一参数,是一个数字,表示允许拼接的最大文件数量。如果请求的文件数超过该限制,服务器将返回错误。

该指令可以在多个上下文中设置,包括 httpserverlocation,从而允许对其适用范围进行细粒度控制。默认情况下,限制为 10 个文件,这意味着任何尝试拼接超过此数量的操作都会导致响应提示超过最大文件数限制。用户可以根据需求更改此值,例如对访问较少的资源设置更高的限制,或对访问较频繁的资源设置较低的限制以防止过载。

用户应注意大请求可能带来的问题。在像 Linux 这样的系统上,单个 URI 不能超过默认页面大小(通常为 4KB),如果用户尝试拼接过多文件并超过此限制,可能会遇到错误。在这种情况下,可以使用 large_client_header_buffers 指令相应地调整缓冲区大小。

配置示例

location /static/css/ {
    concat on;
    concat_max_files 20;
}

将此指令设置得过高可能导致性能问题并超出系统限制。

如果你在合并大量文件时,请确保调整 large_client_header_buffers 以避免请求错误。

← 返回所有指令