Максимальный размер загрузки 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. Вы также можете ознакомиться со следующими статьями, чтобы узнать больше –
- Nginx Add_header
- Директива о расположении Nginx
- Nginx WAF
- Nginx FastCGI
Как отредактировать nginx.
conf, чтобы увеличить размер загружаемого файласпросил
Изменено 3 года назад
Просмотрено 250 тысяч раз
Я хочу увеличить максимальный размер загружаемого файла
.
Проведя небольшое исследование в Интернете, я обнаружил, что вам нужно отредактировать файл ‘nginx.conf’.
vi /etc/nginx/nginx.conf
Это откроет файл, но у меня есть 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.
В случае, если кто-то использует прокси-сервер 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
Лично я нашел этот способ довольно удобным, так как нет необходимости создавать собственный контейнер для изменения конфигов. Я не связан с
, просто использовал его в своем проекте, и способ, описанный выше, мне помог. Надеюсь, это поможет кому-то еще.
Сначала перейдите по пути 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 Зарегистрируйтесь, используя адрес электронной почты и парольОпубликовать как гость
Электронная почтаОбязательно, но не отображается
Опубликовать как гость
Электронная почтаТребуется, но не отображается
Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания и подтверждаете, что прочитали и поняли нашу политику конфиденциальности и кодекс поведения.