我正在尝试在我的服务器上上传30MB文件,但它无法正常工作。
当我上传30MB文件时,页面加载" 找不到页面"
当我上传3MB文件时,我会收到" 413请求实体太大"与nginx / 0.6.32
我正在尝试找到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
谢谢, 拉朱
答案 0 :(得分:69)
来源: http://www.cyberciti.biz/faq/linux-unix-bsd-nginx-413-request-entity-too-large/
编辑nginx的conf文件:
nano /etc/nginx/nginx.conf
在http部分添加一行:
http {
client_max_body_size 100M;
}
Doen不使用MB它不起作用,只有M!
另外不要忘记重启nginx
systemctl restart nginx
答案 1 :(得分:33)
-in 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(在/ opt / nginx / conf中)
client_max_body_size 24000M
它为我的案件工作
答案 2 :(得分:10)
首先编辑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
答案 3 :(得分:6)
sudo nano /etc/nginx/nginx.conf
然后在http部分添加一行
http {
client_max_body_size 100M;
}
不要只使用MB。
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
答案 4 :(得分:5)
请输入域名nginx文件:
nano /etc/nginx/sites-available/domain.set
添加到文件中此代码
client_max_body_size 24000M;
如果您收到错误,请使用此命令
nginx -t
答案 5 :(得分:3)
假设您在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。
就是这样。
为我工作,希望这会有所帮助。
答案 6 :(得分:2)
我上传了上述更改。但是当我进行更改时,我开始在文件上传中获得404响应,这导致我进行进一步调试并通过检查nginx error.log
找出其权限问题<强>解决方案:强>
检查/ var / lib / nginx上的当前用户和组所有权。
$ ls -ld /var/lib/nginx
drwx ------。 3 nginx nginx 17 Oct 5 19:31 / var / lib / nginx
这表明可能不存在的用户和名为nginx的组拥有此文件夹。这阻止了文件上传。
就我而言,&#34; /etc/nginx/nginx.conf"中提及的用户名;是
user vagrant;
将文件夹所有权更改为nginx.conf中定义的用户,在这种情况下为vagrant。
$ 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以获得更安全的sade。
$ sudo service nginx reload
$ sudo service php-fpm reload
许可被拒绝错误现在应该消失。检查error.log(基于nginx.conf error_log位置)。
$ sudo nano /path/to/nginx/error.log
答案 7 :(得分:0)
打开文件/etc/nginx/nginx.conf
添加或更改client_max_body_size 0;
答案 8 :(得分: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服务,以便加载新的ini设置。在xampp上,您可以从此类应用程序随附的控制面板重新启动这些功能。
答案 9 :(得分:0)
我将更改直接添加到我的虚拟主机中,而不是将nginx的全局配置添加到我的虚拟主机中,如下所示:
AssociationAttribute
然后我更改php.ini中的参数,就像上面的注释一样:
server {
client_max_body_size 100M;
...
}
您不能忘记的是重新启动nginx和php-fpm,在centos 7中是这样的:
max_input_time = 24000
max_execution_time = 24000
upload_max_filesize = 12000M
post_max_size = 24000M
memory_limit = 12000M
答案 10 :(得分:0)
我遇到了同样的错误并通过以下步骤修复了它。
首先,编辑 nginx.conf 文件。
vi /etc/nginx/nginx.conf
在 HTTP 部分,添加以下行。
http {
client_max_body_size 100M;
}
systemctl restart nginx