Как изменить 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 (или других свойств):

  1. Создайте пользовательский файл конфигурации, например, /etc/nginx/proxy.conf с правильным значением для этого свойства
  2. При запуске контейнера добавьте его как том, например, -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