Назад | Перейти на главную страницу

socket () не удалось: при подключении к восходящему потоку нет свободного места

На моем Ubuntu 10.04 VPS я получаю обычную ошибку 500 на веб-сервере nginx (0.7.??)+ fcgi, на котором запущен сайт durpal, и когда я отслеживаю журнал ошибок nginx, я вижу много таких:

socket () не удалось: нет свободного места в буфере) при подключении к восходящему потоку ...,

Я пробовал разные комбинации конфигураций, но ни одна проблема не устранилась. В настоящее время у меня есть 3 рабочих nginx, время ожидания Keep-alive 15 секунд и

PHP_FCGI_CHILDREN = 5 PHP_FCGI_MAX_REQUESTS = 1000

Я очень признателен, если вы можете предложить решение этой досадной проблемы.

Вероятно, вы достигли предела ОЗУ или открытых сокетов. Проверьте количество сокетов с помощью cat / proc / sys / fs / file-max и увеличьте его с помощью sysctl -w fs.file-max = [BIG NUMBER]

Добавьте больше оперативной памяти или освободите некоторые системные ресурсы, чтобы выделить оперативную память для системных процессов.

¿Можете ли вы проверить free -mt или top в момент возникновения ошибки?

ваша проблема в вышестоящем сервере, а не в nginx, но я просто предполагаю.

Вы можете установить для своих рабочих процессов значение 4, а затем попробовать