413 Слишком сложная задача запроса - проблема с загрузкой файлов
Я пытаюсь загрузить 30MB файл на свой сервер и его не работает.
-
Когда я загружаю файл размером 30 МБ, страница загружается " Страница не найдена"
-
Когда я загружаю файл 3 МБ, я получаю " 413" Запросить сущность слишком большой "с nginx/0.6.32
Я пытаюсь найти nginx, чтобы увеличить " client_max_body_size", но я не могу найти nginx, установленный на моем сервере. Я даже пробовал работать:
vi /etc/nginx/nginx.conf
или
vi /usr/local/nginx/conf/nginx.conf
чтобы проверить, существует ли файл конфигурации, но я не смог найти его на моем сервере.
Есть ли способ решить эту проблему? Или мне нужно установить nginx на моем сервере.
EDIT:
Я сделал все необходимые изменения в моих файлах php.ini,
post_max_size 128M
upload_max_filesize 100M
memory_limit 256M
Спасибо,
Раджу
Ответы
Ответ 1
Источник:
http://www.cyberciti.biz/faq/linux-unix-bsd-nginx-413-request-entity-too-large/
Измените файл conf
nano \etc\nginx\nginx.conf
Добавьте строку в раздел http
http {
client_max_body_size 100M;
}
Не используйте MB, это не сработает, только M!
Также не забудьте перезапустить nginx
systemctl restart nginx
Ответ 2
-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
Его работа для моего случая
Ответ 3
Введите файл домена nginx:
nano /etc/nginx/sites-available/domain.set
Добавить в файл для этого кода
client_max_body_size 24000M;
Если вы получаете ошибку, используйте эту команду
nginx -t
Ответ 4
Предполагая, что вы внесли необходимые изменения в ваши файлы 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.
Что это.
Работал для меня, надеюсь, что это поможет.
Ответ 5
Сначала отредактируйте файл конфигурации 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
Ответ 6
У меня загрузилась работа с вышеуказанными изменениями. Но когда я внес изменения, я начал получать ответ 404 в загрузке файла, что заставило меня продолжить дальнейшую отладку и выяснило его проблему с разрешением, проверив nginx error.log
Решение:
Проверьте текущую правку пользователя и группы на /var/lib/nginx.
$ ls -ld /var/lib/nginx
drwx ------. 3 nginx nginx 17 окт. 5 19: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 для более безопасного sade.
$ sudo service nginx reload
$ sudo service php-fpm reload
Отказано в разрешении ошибки теперь должно исчезнуть. Проверьте error.log(на основе местоположения error_log nginx.conf).
$ sudo nano /path/to/nginx/error.log