增加所有服务器块的上载文件大小
如果在一台Nginx服务器上有多个网站(服务器块),并且希望增加所有网站的上传文件大小。然后你需要编辑nginx。配置文件
sudovi/etc/nginx/nginx.conf
将以下文本放入http部分
client_max_body_size2M;
上述Nginx指令意味着上传的最大文件大小为2兆字节。默认值为1M。因此,如果您不指定它并上传一个大于1MB的文件,那么您将得到一个413请求实体太大的错误。您可以根据自己的喜好更改此值。
保存并关闭文件。然后重新加载Nginx配置。您不需要重新启动Nginx。
sudosystemctlreloadnginx
或
sudo/etc/init.d/nginxreload
增加单个服务器块的上载文件大小
如果要增加单个服务器块的上载文件大小,则需要编辑服务器块文件。在Debian/Ubuntu服务器上:
sudovi/etc/nginx/sites-available/yourdoman.com
在CentOS/Redhat服务器上:
sudovi/etc/nginx/conf.d/yourdomain.com.conf
并将以下行添加到服务器部分。同样,你可以根据自己的需要改变价值。
client_max_body_size2M;
现在重新加载Nginx配置。
上传大于2兆字节的文件
请注意,PHP还设置了上载文件大小的限制。上传的默认最大文件大小为2M。所以当你上传一个大于2M的文件时,你会遇到这个错误
Theuploadedfileexceedstheupload_max_filesizedirectiveinphp.ini.
然后需要在PHP中更改值。编辑php。ini文件。在Debian/Ubuntu上:
sudovi/etc/php5/fpm/php.ini
在CentOS/Redhat上:
sudovi/etc/php.ini
找到以下行:
upload_max_filesize=2M
将该值更改为与Nginx上载文件大小相同的值。还可以找到下面这一行,增加你喜欢的值。
post_max_size=8M
保存并关闭文件。然后重新加载php fpm。
sudoservicephp-fpmreloadorsudosystemctlreloadphp-fpm
您的系统可能有php5 fpm或php7。0-fpm而不是php-fpm。
检查是否已经设置好
在Nginx中设置client_max_body_size值之前,最好检查该值是否已设置,但您不知道。将工作目录更改为/etc/nginx/并执行以下命令:
sudogrep-R'client_max_body_size'
上述命令将在Nginx config目录下的所有文件中找到该指令。还可以直接打开服务器块文件sudo vi/etc/nginx/conf.d/filename。conf查看服务器块是否已经设置了该值。
最重要的
如果在nginx中指定client_max_body_size的值。然后,服务器块文件中的值将覆盖nginx中设置的值。conf文件。