nginx 报 413 错误以及解决办法整理

来源:互联网 发布:淘宝达人申请 编辑:程序博客网 时间:2024/05/21 19:43

最近在项目中,nginx服务器报错:413 Request Entity Too Large”。

一看就知道是网络请求中传递的某些数据大小超过了nginx的配置;

看了一下nginx.conf发现client_max_body_size的值偏小,只有2M,也就是说

解决办法:
增加如下两行到nginx.conf的http{}段, 增大nginx上传文件大小限制:

client_max_body_size 8M;
client_body_buffer_size 128k;

另外如果运行的是php,那么还要检查php.ini,这个大小client_max_body_size要和php.ini中的如下值的最大值一致或者稍大,这样就不会因为提交数据大小不一致出现的错误。

post_max_size = 8M
upload_max_filesize = 6M

修改完配置后,别忘记重载或重启服务。

虽然这样修改能解决一般问题,相信大家都会问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的值。

php.ini中还有几个max的limit参数,如:

max_execution_time 600 每个PHP页面运行的最大时间值(秒),默认30秒 

max_input_time 600 每个PHP页面接收数据所需的最大时间,默认60秒 
memory_limit 8m 每个PHP页面所吃掉的最大内存,默认8M 

使用的时候多注意;

通过在实践中遇到问题,然后多总结是自我提高的有效途径;

原创粉丝点击