413请求实体错误过大–一种简单的解决方案

今天,我在自己的WordPress网站上尝试了不同的主题。 我以前在计算机上下载了许多主题。 选择主题文件并点击 现在安装 按钮将其上传到我的服务器,Nginx说:413请求实体太大。 大多数时候,您只需要编辑Nginx配置文件即可上传大文件。

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

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

sudo vi /etc/nginx/nginx.conf

将以下文本放入http部分

client_max_body_size 2M;

上面的Nginx指令表示要上传的最大文件大小为2 MB。 默认值为1M。 因此,如果您不指定它并上传一个大于1兆字节的文件,那么您将收到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 MB的文件

请注意,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目录下的所有文件中找到指令。 您也可以直接打开服务器阻止文件 须藤vi /etc/nginx/conf.d/filename.conf 查看该服务器块是否已经设置了该值。

覆写

如果您同时在nginx.conf文件和服务器块文件中指定了client_max_body_size的值,则服务器块文件中的值将覆盖nginx.conf文件中设置的值。

Sidebar