如何编辑nginx.conf以增加文件大小上传

Jef*_* P. 81 nginx

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

vi /etc/nginx/nginx.conf
Run Code Online (Sandbox Code Playgroud)

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

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

client_max_body_size 8M;

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

Mat*_*row 162

添加client_max_body_size

现在您正在编辑文件,您需要将该行添加到服务器块中,就像这样;

server {
    client_max_body_size 8M;

    //other lines...
}
Run Code Online (Sandbox Code Playgroud)

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

http {
    client_max_body_size 8M;

    //other lines...
}
Run Code Online (Sandbox Code Playgroud)

并且还要更新upload_max_filesizephp.ini文件,以便上传相同大小的文件.

在Vi中保存

一旦完成,您需要保存,这可以通过esc按键并键入:wq和返回在vi中完成.

重启Nginx和PHP

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

sudo service nginx restart
sudo service php5-fpm restart
Run Code Online (Sandbox Code Playgroud)

或者无论你的php服务是什么.

  • 将它添加到`http {`上下文以便所有服务器都继承它可能不是一个坏主意.并确保在`php.ini`中调整`upload_max_filesize`以匹配您的nginx设置.如果您使用Homestead/Vagrant运行Laravel,该文件位于`/ etc/php5/fpm/php.ini`. (7认同)
  • `sudo nginx -s reload` 在不重启 nginx 的情况下重新加载配置 (5认同)
  • 从编辑器出来,在sudo前加上vi命令.像这样; sudo vi /etc/nginx/nginx.conf或sudo vi /etc/php5/fpm/php.ini (2认同)
  • php 也需要`post_max_size`。 (2认同)

Vla*_*lin 9

如果一个人使用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,只是在我的项目中使用它,上面描述的方式帮助了我.希望它也可以帮助别人.


小智 7

首先导航php.ini的路径

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

然后,下一个改变

upload_max_filesize = 999M
post_max_size = 999M
Run Code Online (Sandbox Code Playgroud)

然后 ESC-->:wq

现在最后粘贴这个命令,

须藤 systemctl 重启 php7.2-fpm.service

你完成了。

  • 这个问题是关于 nginx Web 服务器,而不是 PHP 编程语言 (5认同)