Ошибка socket(): нет свободного места в буфере при подключении к восходящему каналу
На моем Ubuntu 10.04 VPS я получаю обычную ошибку 500 на веб-сервере nginx (0.7.??)+ fcgi, на котором работает сайт durpal, и когда я отслеживаю журнал ошибок nginx, я вижу много таких:
Ошибка socket(): буферное пространство недоступно) при подключении к восходящему каналу...,
Я пробовал разные комбинации конфигов, но ни одна из них не устранила проблему. В настоящее время у меня есть 3 рабочих nginx, время ожидания активности 15 секунд и и
PHP_FCGI_CHILDREN=5 PHP_FCGI_MAX_REQUESTS=1000
Я очень признателен, если вы можете предложить решение этой надоедливой проблемы.
3 ответа
Вы, вероятно, достигли своего предела оперативной памяти или открытых сокетов. Проверьте количество сокетов с помощью cat /proc/sys/fs/file-max и увеличьте его с помощью sysctl -w fs.file-max=[BIG NUMBER]
Ваша проблема в вышестоящем сервере, а не в nginx, но я просто догадываюсь.
Вы можете установить свои рабочие процессы на 4, а затем попробовать
Добавьте больше оперативной памяти или освободите некоторые системные ресурсы, чтобы выделить оперативную память для системных процессов.
Check можете ли вы проверить free -mt или top во время возникновения ошибки?