Nginx Linux

Nginx: worker_connections are not enough — исчерпан лимит соединений

  • Обновлено
  • Чтение ≈ 2 минуты

Краткий ответ

Сообщение означает, что достигнут лимит worker_connections. Увеличьте значение, проверьте ulimit -n и worker_rlimit_nofile, найдите источник лишних соединений.

В этой статье
  1. Что означает ошибка
  2. Причины и признаки
  3. Пошаговое решение
  4. Если проблема осталась

#Что означает ошибка

Сообщение
worker_connections are not enough

Сообщение означает, что достигнут лимит worker_connections. Увеличьте значение, проверьте ulimit -n и worker_rlimit_nofile, найдите источник лишних соединений.

#Причины и признаки

Возможная причинаКак узнатьЧто делать
Малый лимитВ случае «Nginx: worker_connections are not enough — исчерпан лимит соединений» проверьте наличие причины «Малый лимит» по исходному действию и связанному сообщению; переходить к исправлению стоит после её подтверждения.Сверьте действующие настройки с требованиями этой функции, затем измените только нужный параметр.
Лимит файловВ случае «Nginx: worker_connections are not enough — исчерпан лимит соединений» проверьте наличие причины «Лимит файлов» по исходному действию и связанному сообщению; переходить к исправлению стоит после её подтверждения.Сверьте действующие настройки с требованиями этой функции, затем измените только нужный параметр.
Всплеск трафикаВ случае «Nginx: worker_connections are not enough — исчерпан лимит соединений» проверьте наличие причины «Всплеск трафика» по исходному действию и связанному сообщению; переходить к исправлению стоит после её подтверждения.Ограничьте
Долгие соединенияСравните поведение через другой доступный канал связи и проверьте, затронуто ли только «Nginx» или остальные приложения тоже.Сравните параметры подключения с исправным устройством и изменяйте только подтверждённую ошибочную настройку.

#Пошаговое решение

  1. Определите причинуЕсли в журнале Nginx встретилось worker_connections are not enough, запишите время и нагрузку; выполните sudo nginx -T 2>&1 | grep -n -E "worker_connections|worker_processes|worker_rlimit_nofile" и посмотрите актуальные лимиты. Не увеличивайте значения произвольно до сотен тысяч без проверки файловых дескрипторов.
  2. Выполните подходящее исправлениеПроверьте systemctl show nginx -p LimitNOFILE и фактический лимит открытых файлов для рабочих процессов, а также текущие соединения (ss -s). Учитывайте, что обратный прокси может использовать по два соединения на один клиентский запрос; один лишь параметр worker_connections не равен числу посетителей.
  3. Проверьте другие возможные причиныПосмотрите, не вызвана ли нехватка соединений длительными запросами upstream, ошибочными настройками keepalive, злоупотреблением ботами или исчерпанием ресурсов. При необходимости ограничьте вредоносную нагрузку адресно и исправьте зависающие приложения; массовая блокировка всех клиентов или отключение защитных ограничений не нужна.
  4. Убедитесь в результатеЕсли подтверждено, что именно лимит мал, сохраните копию конфига, задайте обоснованное worker_connections в секции events и согласуйте лимит дескрипторов systemd. Проверьте sudo nginx -t, примените reload и сравните число повторных предупреждений, ошибки 502/503 и использование памяти под типичной нагрузкой.

#Если проблема осталась

При повторении «Nginx: worker_connections are not enough — исчерпан лимит соединений» сохраните обезличенную строку из журнала и верните прежнюю конфигурацию, если правка ухудшила работу сайта. Уточните активную версию процесса и конфигурационный файл, прежде чем предпринимать следующий шаг.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.