Nginx配置文件上传大小限制

Nginx
作者:dulucy
发布时间:2025-04-28 22:58:10
Nginx配置文件上传大小限制

Nginx默认配置是可允许上传1M大小的文件,但是实际项目中的文件都会超过1M。因此需要调整配置,否则就会在上传过程中,报错too larger

主要配置参数

  1. client_max_body_size

    • 默认值:1M

    • 设置客户端请求体的最大允许大小

    • 示例:client_max_body_size 100M; (允许100MB上传)

  2. client_body_buffer_size

    • 设置用于读取客户端请求体的缓冲区大小

    • 示例:client_body_buffer_size 128k;

  3. client_body_temp_path

    • 设置存储客户端请求体的临时文件目录

    • 示例:client_body_temp_path /var/nginx/client_body_temp 1 2;

配置位置

1、http块 (全局生效)

http {
    client_max_body_size 100M;
    client_body_buffer_size 128k;
    client_body_temp_path /var/nginx/client_body_temp;
}

2. server块 (对特定虚拟主机生效)

server {
	    listen 80;
	    server_name example.com;
	    client_max_body_size 50M;
	}	

3. location块 (对特定路径生效)

location /upload {
	    client_max_body_size 200M;
	}

完整示例

http {
    # 全局设置
    client_max_body_size 20M;
    client_body_buffer_size 128k;
    client_body_temp_path /var/nginx/client_body_temp;
    
    server {
        listen 80;
        server_name example.com;
        
        # 覆盖全局设置
        client_max_body_size 50M;
        
        location /upload {
            # 为上传路径设置更大的限制
            client_max_body_size 200M;
        }
    }
}

注意事项

修改配置后需要重新加载Nginx:

sudo nginx -s reload