Как поднять лимиты в nginx?

«Как поднять лимиты в nginx?» — вопрос из категории Веб-серверы и балансировка, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для увеличения лимитов в Nginx необходимо отредактировать конфигурационные файлы. Основные параметры:

1. client_max_body_size — максимальный размер тела запроса (например, для загрузки файлов).

http {
    client_max_body_size 100M; # Увеличивает лимит до 100 МБ
}

2. worker_connections — максимальное количество одновременных соединений на один worker-процесс.

events {
    worker_connections 4096;
}

3. keepalive_timeout и keepalive_requests — для управления persistent-соединениями.

http {
    keepalive_timeout 75s;
    keepalive_requests 1000;
}

Важные шаги после изменения конфигурации:

  1. Проверить синтаксис: nginx -t
  2. Применить изменения: systemctl reload nginx или nginx -s reload

Системные ограничения:

  • Убедитесь, что системный лимит на количество открытых файлов (ulimit -n) достаточен. Для worker_connections 4096 рекомендуется ulimit -n 8192 или выше.
  • При использовании Nginx как reverse proxy проверьте также директивы proxy_buffer_size и proxy_buffers.