413请求实体太大-文件上传问题

我试图上传30 MB 的文件在我的服务器上,它不工作。

  1. 当我上传30MB 文件时,页面加载“ 未找到页面

  2. 当我上传一个3MB 的文件时,我收到 nginx/0.6.32的“ 413请求实体太大

我试图找到 nginx,以便我可以增加“ Client _ max _ body _ size”,但我无法找到安装在我的服务器上的 nginx。我甚至试着跑步:

vi /etc/nginx/nginx.conf

或者

vi /usr/local/nginx/conf/nginx.conf

来检查配置文件是否存在,但是我在服务器上找不到它。

有办法解决这个问题吗? 或者我必须在我的服务器上安装 nginx。

编辑:

我已经对 php.ini 文件做了所有必要的修改,

post_max_size 128M
upload_max_filesize 100M
memory_limit 256M

谢谢, Raju

223048 次浏览

- 在 php.ini 中(在/etc/php.ini 中)

 max_input_time = 24000
max_execution_time = 24000
upload_max_filesize = 12000M
post_max_size = 24000M
memory_limit = 12000M

- in nginx.conf (inside/opt/nginx/conf)

client_max_body_size 24000M

这对我的案子有帮助

请输入域 nginx 文件:

nano /etc/nginx/sites-available/domain.set

将此代码添加到文件中

client_max_body_size 24000M;

如果出现错误,请使用以下命令

nginx -t

假设您对 php.ini 文件进行了必要的更改:

您可以通过在 nginx.conf 文件中添加以下代码行来解决这个问题:

/etc/nginx/nginx.conf

然后使用 vim 文本编辑器编辑文件,如下所示:

vi /etc/nginx/nginx.conf

并添加 client _ max _ body _ size,其值足够大,例如:

client_max_body_size 20MB;

之后,确保您使用 :xi:wq保存

然后重新启动你的 nginx。

就是这样。

对我有用,希望这个有用。

来源: Http://www.cyberciti.biz/faq/linux-unix-bsd-nginx-413-request-entity-too-large/

编辑 nginx 的 conf 文件:

nano /etc/nginx/nginx.conf

httpserverlocation部分添加一行:

client_max_body_size 100M;

不要使用 MB 它不会工作,只有 M!

也不要忘记重新启动 nginx

systemctl restart nginx

首先编辑 Nginx 配置文件(nginx.conf)

地点: sudo nano /etc/nginx/nginx.conf

加入以下代码:

http {
client_max_body_size 100M;
}

然后在 PHP 配置文件(php.ini)中添加以下代码行

地点: sudo gedit /etc/php5/fpm/php.ini

加入以下代码:

memory_limit = 128M
post_max_size = 20M
upload_max_filesize = 10M

我得到了上传工作与上述变化。但是,当我做出更改时,我开始在文件上传中获得404响应,这导致我做进一步的调试,并通过检查 nginx error.log 找出其权限问题

解决方案:

检查/var/lib/nginx 上的当前用户和组所有权。

$ ls -ld /var/lib/nginx

Drwx —— . 3 nginx nginx 17 Oct 519:31/var/lib/nginx

这表明一个可能不存在的用户和名为 nginx 的组拥有这个文件夹。

在我的示例中,“/etc/nginx/nginx.conf”中提到的用户名是

user vagrant;

将文件夹所有权更改为在 nginx.conf 中定义的用户(在本例中是流浪者)。

$ sudo chown -Rf vagrant:vagrant /var/lib/nginx

验证它是否确实更改了。

$ ls -ld /var/lib/nginx
drwx------. 3 vagrant vagrant 17 Oct  5 19:31 /var/lib/nginx

重新加载 nginx 和 php-fpm 更安全的萨德。

$ sudo service nginx reload
$ sudo service php-fpm reload

拒绝的权限错误现在应该消失了。

$ sudo nano /path/to/nginx/error.log

打开文件 /etc/nginx/nginx.conf 添加或更改 client_max_body_size 0;

用途:

php -i

命令或添加:

phpinfo();

获取配置文件的位置。

根据您的需要和服务器更新这些变量

max_input_time = 24000
max_execution_time = 24000
upload_max_filesize = 12000M
post_max_size = 24000M
memory_limit = 12000M

在 Linux 上,需要重新启动 nginx/apache 和 phpfpm service,以便加载新的 ini 设置。在 xampp 上,您可以从这些应用程序附带的控制面板重新启动这些程序。

我将更改直接添加到我的虚拟主机,而不是 nginx 的全局配置,如下所示:

   server {
client_max_body_size 100M;
...
}

然后我改变 php.ini 中的 params,就像上面的注释:

   max_input_time = 24000
max_execution_time = 24000
upload_max_filesize = 12000M
post_max_size = 24000M
memory_limit = 12000M

你不能忘记的是重新启动 nginx 和 php-fpm,在 centos 7中是这样的:

  systemctl restart nginx
systemctl restart php-fpm
sudo nano /etc/nginx/nginx.conf


然后在 http 部分添加一行

http {
client_max_body_size 100M;
}


不要只使用 M。

systemctl restart nginx

然后是 php 位置

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

现在最大限度地使用 php 7.0或更高版本

sudo nano /etc/php/7.2/fpm/php.ini     //7.3,7.2 or 7.1 which php you use

检查那些因你的欲望而增加的。

memory_limit = 128M
post_max_size = 20M
upload_max_filesize = 10M

重新启动 php-fpm

service php-fpm restart

我得到了相同的错误,并修复了下面的步骤。

  1. 首先,编辑 nginx.conf 文件。

    vi /etc/nginx/nginx.conf

在 HTTP 部分,添加以下一行。

http {


client_max_body_size 100M;
}
  1. 最后使用以下命令重新启动 Nginx。

systemctl restart nginx

任何寻找 Apache2(Ubuntu18)解决方案的人都可以编辑:

/etc/apache2/apache2.conf

找到/编辑这行:

LimitRequestBody 7000000 #7mb

打开这个文件

sudo vim  /etc/nginx/nginx.conf

译注:服务器位置部分添加一行:

client_max_body_size 100M;

然后通过以下命令检查 nginx 是否正常

sudo nginx -t

如果一切看起来都很好,那么你会得到

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

然后重新启动 nginx

sudo systemctl restart nginx

我希望你的目的达到了:)

在我的例子中,我使用 nginx 和 letscrypt 在我的 Spring 启动应用程序前面放置一个 ssl 层。

在“/etc/nginx/nginx.conf”中放入 clint _ max _ body _ size 属性对我来说不起作用。 相反,我将此属性放在站点特定的 conf 文件中。

Sudo nano/etc/nginx/sites- 可用/mywebsite.com

server {
...
client_max_body_size 3M;
...
}

后保存以上,重新启动 nginx 服务器和它的工作!

Sudo 服务站

Sudo 服务 nginx 启动