413请求实体太大错误-一个简单的解决方案

香港云服务器

今天我在我的wordpress网站上尝试了不同的主题。我以前在电脑上下载过很多主题。在我选择主题文件并点击立即安装按钮将其上传到服务器后,Nginx说:413请求实体太大。大多数情况下,只需编辑Nginx配置文件即可上传大文件。

增加所有服务器块的上载文件大小

如果在一台Nginx服务器上有多个网站(服务器块),并且希望增加所有网站的上传文件大小。然后你需要编辑nginx。配置文件

sudo vi /etc/nginx/nginx.conf

将以下文本放入http部分

client_max_body_size 2M;

上述Nginx指令意味着上传的最大文件大小为2兆字节。默认值为1M。因此,如果您不指定它并上传一个大于1MB的文件,那么您将得到一个413请求实体太大的错误。您可以根据自己的喜好更改此值。

保存并关闭文件。然后重新加载Nginx配置。您不需要重新启动Nginx。

sudo systemctl reload nginx

sudo /etc/init.d/nginx reload

增加单个服务器块的上载文件大小

如果要增加单个服务器块的上载文件大小,则需要编辑服务器块文件。在Debian/Ubuntu服务器上:

sudo vi /etc/nginx/sites-available/yourdoman.com

在CentOS/Redhat服务器上:

sudo vi /etc/nginx/conf.d/yourdomain.com.conf

并将以下行添加到服务器部分。同样,你可以根据自己的需要改变价值。

client_max_body_size 2M;

现在重新加载Nginx配置。

上传大于2兆字节的文件

请注意,PHP还设置了上载文件大小的限制。上传的默认最大文件大小为2M。所以当你上传一个大于2M的文件时,你会遇到这个错误

The uploaded file exceeds the upload_max_filesize directive in php.ini.

然后需要在PHP中更改值。编辑php。ini文件。在Debian/Ubuntu上:

sudo vi /etc/php5/fpm/php.ini

在CentOS/Redhat上:

sudo vi /etc/php.ini

找到以下行:

upload_max_filesize = 2M

将该值更改为与Nginx上载文件大小相同的值。还可以找到下面这一行,增加你喜欢的值。

post_max_size = 8M

保存并关闭文件。然后重新加载php fpm。

sudo service php-fpm reload       or         sudo systemctl reload php-fpm

您的系统可能有php5 fpm或php7。0-fpm而不是php-fpm。

检查是否已经设置好

在Nginx中设置client_max_body_size值之前,最好检查该值是否已设置,但您不知道。将工作目录更改为/etc/nginx/并执行以下命令

sudo grep -R 'client_max_body_size'

上述命令将在Nginx config目录下的所有文件中找到该指令。还可以直接打开服务器块文件sudo vi/etc/nginx/conf.d/filename。conf查看服务器块是否已经设置了该值。

最重要的

如果在nginx中指定client_max_body_size的值。然后,服务器块文件中的值将覆盖nginx中设置的值。conf文件。

上一篇
下一篇