本篇博客是对生产环境nginx限制上传大小带来的灾难进行的总结和进行的改进。
目的是将经历转变为自己的经验。通过博客的方式分享给大家,大家一起共同进步和提高。

对于在生产环境上调整nginx上传文件的大小是一个非常恐怖的方案:
那是不是一定不可以修改nginx上传文件的大小呢,我认为也不是的。
上面的方案(直接修改nginx上传文件大小)没有考虑其他情况1. 现在修改nginx是否合适,优势利弊是什么? 2.有没有其他的更优的方案他们的优势利弊是什么?
背景:现在生产环境的体测上面很可能有用户正在使用,但是现在学院又需要导入1.5w人对应的excel表格,但是由于nginx上进行了限制倒是1.5w条的excel导入失败。
在nginx的配置文件nginx.conf中设置了上传文件的大小。
Nginx一般默认的上传最大请求体在1m。如果设置为0,表示上传文件大小不受限制。
Default: client_max_body_size 1m;
nginx支持在http块、server块和location块中设置client_max_body_size
三者的主要区别是:http{}中控制所用nginx收到的请求,server{}控制该server收到的请求报文大小;location{}只对匹配了location 路由规则的请求生效。
http {include /etc/nginx/mime.types;default_type application/octet-stream;log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log /var/log/nginx/access.log main;sendfile on;#tcp_nopush on;keepalive_timeout 65;#gzip on;#默认的上传最大请求体在1m。如果设置为0,表示上传文件大小不受限制。client_max_body_size 10m; include /etc/nginx/conf.d/*.conf;
}