В логе nginx видим строчки:
1 2 3 4 5 6 7 |
2017/08/04 14:20:16 [error] 1574#1574: *1097499 connect() to unix:/var/www/php-fpm/www.sock failed (11: Resource temporarily unavailable) while connecting to upstream, client: 162.158.92.166, server: test.ru, request: "GET /index.php?QXLLTBC=BYZJPC HTTP/1.1", upstream: "fastcgi://unix:/var/www/php-fpm/slaughterworld.sock:", host: "test.ru", referrer: "http://www.google.com/?q=ENCJVXEPC" |
Происходит это потому что операционная система отвергает попытки nginx подключиться к unix сокету.
Причина либо превышено максимальное кол-во соединений к сокету либо максимальное кол-во не обработанных соединений к сокету.
Проверяем лимиты:
1 |
sysctl net.core |
Нас интересуют строки:
1 2 |
net.core.somaxconn = 128 net.core.netdev_max_backlog = 200 |
Из-за них и происходит ошибка, так как максимальное кол-во соединений 128 а максимум не обработанных 200
Меняем лимиты, в файл /etc/sysctl.conf прописываем строки
1 |
nano /etc/sysct.conf |
добавляем
1 2 |
net.core.somaxconn = 20000 net.core.netdev_max_backlog = 65535 |
Применяем параметры
1 |
sysctl -p |
Перезапускаем php-fpm
1 |
service php-fpm restart |
Источники: