Nginx默认client_body_buffer_size为8KB,控制请求体内存缓冲上限,超限则写临时文件;过小增I/O,过大耗内存;需据业务调整,且不可超过client_max_body_size。
Nginx 安装后默认的
值是
8KB
(即 8192 字节),适用于大多数小请求体场景,比如普通表单提交、JSON API 请求等。
这个值影响什么?
该指令控制 Nginx 在内存中缓存客户端请求体(request body)的最大大小。当请求体(如 POST 数据)不超过该值时,Nginx 直接在内存中处理;超过则会写入临时文件(由
指定,默认在
下)。
太小:频繁写临时文件,增加磁盘 I/O 和延迟
太大:浪费内存,尤其在高并发下可能积压较多缓冲区
上传大文件或含大量文本的请求(如富文本、批量 JSON)容易触发临时文件写入
如何查看当前值?
可在 Nginx 配置中显式查找,或用以下命令快速确认:
若无输出,说明未自定义,即使用默认 8k。
常见调整建议
根据业务实际调整更合理:
纯 API 服务(JSON 小请求):保持
或略增至
即可
含文件上传的后台接口:建议设为
~
,避免小文件也落盘
需支持大文本提交(如日志上报、代码片段):可设为
,但需同步检查
注意:
不能大于
,否则无效
配置示例(放在 http / server / location 块中)
例如在
块内设置:
修改后需重载生效:
。
client_body_buffer_sizeclient_body_temp_pathnginx/client_body_temp/nginx -T 2>/dev/null | grep client_body_buffer_size8k16k128k512k1mclient_max_body_sizeclient_body_buffer_sizeclient_max_body_sizeserverclient_body_buffer_size 256k;nginx -s reload