Разное

Nginx max upload size: Modify the NGINX file upload limit

19.08.2023

Максимальный размер загрузки Nginx | Полное руководство по максимальному размеру загрузки Nginx

Обновлено 14 февраля 2023 г.

Максимальный размер загрузки Nginx определяется размером файлов, которые мы можем загрузить с помощью nginx. Ограничение размера загружаемого файла nginx по умолчанию составляет 1 МБ; если предположить, что пользователь загружает файл размером более 1 МБ, то пользователь получит ошибку 413, т. е. запрос объекта слишком велик. Мы можем увеличить максимальный размер лимита загрузки в nginx, используя директиву client_max_body_size.

Обзор максимального размера загрузки Nginx

Nginx прервет наше соединение, когда мы загрузим большие файлы, что является максимальным ограничением, которое мы определили в файлах конфигурации nginx. Мы можем изменить максимальный размер загружаемого файла nginx, используя файл конфигурации nginx. После настройки максимального лимита загрузки файла нам необходимо перезапустить сервер nginx; без перезагрузки он не будет работать должным образом. Лимит загрузки файлов nginx по умолчанию слишком мал; если предположим, что мы хотим загрузить изображения или видео, то это создаст проблему в приложении и покажет пользователю ошибку при загрузке файла.

Как увеличить максимальный размер загрузки Nginx?

Ниже приведены шаги по увеличению максимального размера загрузки nginx. Мы будем использовать имя директивы client_max_body_size для установки ограничения на максимальную загрузку файлов. Мы можем поместить директиву client_max_body_size на сервер, http местоположения.

1. На первом этапе нам нужно установить сервер nginx в нашу систему. Мы можем установить сервер nginx, используя rpm и исходный код, а также используя бинарную установку.

Код:

 apt-get install nginx 

Вывод:

2. После установки сервера nginx нам нужно запустить сервер nginx с помощью команды «service nginx start». После запуска службы nginx мы можем проверить статус службы. Мы установили версию nginx 1.18 следующим образом.

Код:

 статус службы nginx
nginx –V 

Вывод:

3. На этом этапе мы создаем каталог нашего веб-сайта, из которого мы используем автоматические индексы. Мы создаем имя каталога как nginx_autoindex. После создания каталога мы предоставляем значение umask 755 для указанного каталога.

Код:

 mkdir -p /nginx_maxupload
chmod -R 755 /nginx_maxupload 

Вывод:

4. После создания каталога и предоставления ему значения umask мы открываем файл конфигурации nginx, чтобы добавить конфигурацию автоиндекса nginx следующим образом.

5. После открытия файла конфигурации nginx на этом этапе мы увеличиваем предельный размер загрузки файла сервера nginx. Если предположим, что мы хотим увеличить лимит всего нашего веб-сайта до 25 МБ, нам нужно добавить приведенный ниже код в блок http следующим образом.

Код:

 http {
   client_max_body_size 50M;
} 

Вывод:

6. Если допустим мы хотим увеличить лимит загрузки файла только для указанного запроса https, но не для запроса HTTP, то нам нужно добавить строку client_max_body_size 50 MB в блок https, который слушал с 443, но не в блоке, который слушал с 80.

Код:

 сервер{
  слушать 80;
}
сервер{
  слушать 443;
  client_max_body_size 50M;
} 

Вывод:

7. Мы также можем использовать описанный выше подход, предположим, что мы хотим увеличить ограничение размера загружаемого файла для определенного веб-сайта или домена. Если предположим, что мы хотим увеличить директиву размера файла для указанного URI или директивы, в этом случае мы можем использовать директиву client_max_body_size в папке nginx_maxupload следующим образом.

Код:

 местоположение /nginx_maxupload {
  client_max_body_size 40M;
} 

Вывод:

8. Чтобы изменения вступили в силу, нам нужно перезапустить сервер nginx с помощью следующей команды. Однако перед этим нам нужно проверить, действительна ли наша конфигурация в файле конфигурации nginx, используя следующую команду.

Код:

 nginx –t
служба перезапуска nginx 

Вывод:

Как ограничить максимальный размер загрузки файла Nginx?

Мы можем ограничить размер загружаемого файла в nginx; ограничивая размер загружаемого файла, мы можем предотвратить DOS-атаки и многие другие проблемы. Следующие шаги показывают, как мы можем ограничить максимальный размер загружаемого файла. В приведенном ниже примере мы ограничиваем размер загружаемого файла http, сервера и директивы следующим образом.

1. На первом этапе мы открываем файл конфигурации nginx с помощью команды vi для редактирования.

2. После открытия файла конфигурации nginx на этом шаге мы ограничиваем размер загружаемого файла сервера nginx до 100 МБ директивы http.

Код:

 http {
   client_max_body_size 100M;
} 

Вывод:

3. Предположим, мы хотим ограничить размер загружаемого файла только для указанного HTTP-запроса, но не для HTTP-запроса, тогда нам нужно добавить строку client_max_body_size 100M в блок HTTP, который прослушивается с 80, но не в блоке, который прослушивается с 443.

Код:

 сервер{
  слушать 443;
}
сервер{
  слушать 80;
  client_max_body_size 100M;
} 

Вывод:

4. Предположим, мы хотим ограничить директиву размера загружаемого файла для указанного URI или директивы, в этом случае мы можем использовать директиву client_max_body_size в папке nginx_maxupload следующим образом.

Код:

 местоположение /nginx_maxupload {
  client_max_body_size 100M;
} 

Вывод:

5. После ограничения директивы client_max_body_size нам нужно проверить синтаксис конфигурационных файлов nginx. После проверки синтаксиса, если предположим, что синтаксис файла в порядке, нам нужно перезапустить сервер nginx; если предположим, что синтаксис не в порядке, нам нужно проверить то же самое.

Код:

 nginx –t
service nginx restart 

Вывод:

Вывод

Мы можем изменить максимальный размер загружаемого файла nginx, используя файл конфигурации nginx. Ограничение размера загружаемого файла nginx по умолчанию составляет 1 МБ; если предположить, что пользователь загружает файл размером более 1 МБ, то пользователь получит ошибку 413, т. е. запрос объекта слишком велик.

Рекомендуемые статьи

Это руководство по максимальному размеру загрузки Nginx. Здесь мы обсуждаем введение и как увеличить и ограничить максимальный размер загружаемого файла nginx. Вы также можете ознакомиться со следующими статьями, чтобы узнать больше –

  1. Nginx Add_header
  2. Директива о расположении Nginx
  3. Nginx WAF
  4. Nginx FastCGI

Как отредактировать nginx.

conf, чтобы увеличить размер загружаемого файла

спросил

Изменено 3 года назад

Просмотрено 250 тысяч раз

Я хочу увеличить максимальный размер загружаемого файла .
Проведя небольшое исследование в Интернете, я обнаружил, что вам нужно отредактировать файл ‘nginx.conf’.

В настоящее время я могу получить доступ к этому файлу только через Putty и введя команду:

 vi /etc/nginx/nginx.conf
 

Это откроет файл, но у меня есть 2 вопроса:

  1. Как мне отредактировать этот файл?
  2. Я нашел в Интернете, что вы должны добавить следующую строку кода:

client_max_body_size 8M;

Куда мне поместить эту строку кода в nginx. conf ?

  • nginx
  • nginx-config

Добавить

client_max_body_size

Теперь, когда вы редактируете файл, вам нужно добавить строку в блок сервера, например:

 сервер {
    client_max_body_size 8M;
    //другие строки...
}
 

Если вы размещаете несколько сайтов, добавьте их в контекст http следующим образом;

 http {
    client_max_body_size 8M;
    //другие строки...
}
 

А также обновите upload_max_filesize в вашем файле php.ini, чтобы вы могли загружать файлы одинакового размера.

Сохранение в Vi

Когда вы закончите, вам нужно сохранить, это можно сделать в vi, нажав клавишу esc и набрав :wq и вернувшись.

Перезапуск Nginx и PHP

Теперь нужно перезапустить nginx и php, чтобы перезагрузить конфиги. Это можно сделать с помощью следующих команд;

 перезапуск службы sudo nginx
Перезапуск службы sudo php5-fpm
 

Или как называется ваша служба php.

10

В случае, если кто-то использует прокси-сервер 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 , просто использовал его в своем проекте, и способ, описанный выше, мне помог. Надеюсь, это поможет кому-то еще.

1

Сначала перейдите по пути php.ini

судо ви /etc/php/7.2/fpm/php.ini

затем следующее изменение

 upload_max_filesize = 999M
post_max_size = 999M
 

затем ESC-->:wq

Теперь, наконец, вставьте эту команду,

sudo systemctl перезапустить php7.

2-fpm.service

готово.

2

Вы можете увеличивать client_max_body_size и upload_max_filesize + post_max_size в течение всего дня. Без настройки тайм-аута HTTP он никогда не будет работать.

// Вам нужно настроить это, и, вероятно, также на стороне PHP. client_body_timeout 2 мин // 1 ГБ загрузки файла

1

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя адрес электронной почты и пароль

Опубликовать как гость

Электронная почта

Обязательно, но не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания и подтверждаете, что прочитали и поняли нашу политику конфиденциальности и кодекс поведения.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *