- A+
昨天用LNMP服务器上传资料,大约20M,点击上传后,页面卡住了,过了一会返回浏览器显示“413 Request Entity Too Large”。
第一感觉就是数据太多,超过了nginx配置的限制,
看了一下nginx.conf发现没有设置client_max_body_size,这个参数默认只是1M,也就是说上传的资料大小不能超过1M
解决办法:
增加如下两行到nginx.conf的http{}段, 增大nginx上传文件大小限制
#设置允许发布内容为80M
client_max_body_size 8M;client_body_buffer_size 1280k;
另外如果运行的是php,那么还要检查php.ini,这个大小client_max_body_size要和php.ini中的如下值的最大值一致或者稍大,这样就不会因为提交数据大小不一致出现的错误。
post_max_size = 80Mupload_max_filesize = 60M
修改完配置后,别忘记重新加载。
虽然这样修改能解决一般问题,相信大家都会问post_max_size 和 upload_max_filesize 之间关系是什么?
从字面含义看一个是上传文件最大值upload_max_filesize,一个是通过POST提交数据的最大值post_max_size ,一般在php中用的是POST方式上传。
所以php.ini中设置 memory_limit > post_max_size > upload_max_filesize
当上传大文件时为了防止网速慢时超时现象,需要适当调大max_execution_time的值。