156

我想增加maximum file size可以上传的。
在网上做了一些研究后,我发现你必须编辑文件'nginx.conf'。
我目前可以访问此文件的唯一方法是通过 Putty 并输入命令:

vi /etc/nginx/nginx.conf

这将打开文件,但我现在有 2 个问题:

  1. 如何编辑此文件?
  2. 我在网上发现你必须添加以下代码行:

client_max_body_size 8M;

我会把这行代码放在nginx.conf哪里?

4

4 回答 4

279

添加client_max_body_size

现在您正在编辑文件,您需要将该行添加到服务器块中,如下所示;

server {
    client_max_body_size 8M;

    //other lines...
}

如果您托管多个站点,请将其添加到 http 上下文中,如下所示;

http {
    client_max_body_size 8M;

    //other lines...
}

并更新upload_max_filesize您的 php.ini 文件,以便您可以上传相同大小的文件。

保存在 Vi

完成后,您需要保存,这可以在 vi 中通过esc按键并键入:wq并返回来完成。

重启 Nginx 和 PHP

现在您需要重新启动 nginx 和 php 以重新加载配置。这可以使用以下命令来完成;

sudo service nginx restart
sudo service php5-fpm restart

或者无论您调用什么 php 服务。

于 2014-11-03T15:19:38.213 回答
15

如果使用 nginx 代理作为 docker 容器(例如jwilder/nginx-proxy),则可以通过以下方式进行配置client_max_body_size(或其他属性):

  1. 创建一个自定义配置文件,例如/etc/nginx/proxy.conf为此属性设置正确的值
  2. 运行容器时,将其添加为卷,例如-v /etc/nginx/proxy.conf:/etc/nginx/conf.d/my_proxy.conf:ro

个人觉得这种方式相当方便,因为不需要构建自定义容器来更改配置。我不隶属于jwilder/nginx-proxy,只是在我的项目中使用它,上面描述的方式帮助了我。希望它也对其他人有所帮助。

于 2018-05-29T13:16:00.457 回答
8

首先导航php.ini的路径

须藤 vi /etc/php/7.2/fpm/php.ini

然后,下一个变化

upload_max_filesize = 999M
post_max_size = 999M

然后ESC-->:wq

现在最后粘贴此命令,

sudo systemctl restart php7.2-fpm.service

你完成了。

于 2019-05-28T21:40:51.963 回答
2

您可以整天增加 client_max_body_size 和 upload_max_filesize + post_max_size。如果不调整 HTTP 超时,它将永远无法工作。

//你需要调整这个,可能在 PHP 方面也一样。client_body_timeout 2min // 1GB 文件上传

于 2019-09-10T10:28:21.770 回答