Как изменить nginx.conf для увеличения загрузки файла
Я хочу увеличить maximum file size
, который можно загрузить.
После некоторых исследований в Интернете я обнаружил, что вам нужно отредактировать файл "nginx.conf".
Единственный способ, с помощью которого я могу получить доступ к этому файлу, - это пройти через Putty и ввести команду:
vi /etc/nginx/nginx.conf
Это откроет файл, но у меня есть 2 вопроса:
- Как отредактировать этот файл?
- Я нашел онлайн, что вам нужно добавить следующую строку кода:
client_max_body_size 8M;
Где бы я поместил эту строку кода в nginx.conf
?
Ответы
Ответ 1
Добавить 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.
Ответ 2
В случае, если кто-то использует прокси-сервер nginx в качестве док-контейнера (например, jwilder/nginx-proxy), есть следующий способ настройки client_max_body_size
(или других свойств):
- Создайте пользовательский файл конфигурации, например,
/etc/nginx/proxy.conf
с правильным значением для этого свойства
- При запуске контейнера добавьте его как том, например,
-v /etc/nginx/proxy.conf:/etc/nginx/conf.d/my_proxy.conf:ro
Лично я нашел этот способ довольно удобным, так как не нужно создавать собственный контейнер для изменения настроек. Я не связан с jwilder/nginx-proxy
, просто использовал его в своем проекте, и способ, описанный выше, помог мне. Надеюсь, это поможет кому-то еще.
Ответ 3
Сначала перейдите по пути php.init
sudo vi/etc/php/7.2/fpm/php.init
затем следующее изменение
upload_max_filesize = 999M
post_max_size = 999M
затем ESC-->:wq
Теперь, наконец, вставьте эту команду,
sudo systemctl перезапустите php7.2-fpm.service
вы сделали.
Ответ 4
Вы можете увеличить client_max_body_size и upload_max_filesize + post_max_size в течение всего дня. Без настройки времени ожидания HTTP он никогда не будет работать.
//Вы должны настроить это, и, вероятно, также на стороне PHP.
client_body_timeout 2min//1 ГБ fileupload