Во-первых, уменьшить pm.max_children = 200
к pm.max_children = 50
.
Вам нужно будет в первую очередь увеличить лимит файла системы, тем самым позволяя nginx и php-fpm открывать большее количество файлов. Предел файла должен быть увеличен, так как в Linux все в конце - это файл. Поэтому больше подключений, которые вы открываете, потребует большего количества файлов. В ubuntu конфигурация ограничения файла выполняется в /etc/security/limits.conf
. Вам нужно будет найти это для CentOS.
Затем попытайтесь увеличить внутренний диапазон портов, который может использоваться php-fpm. Наряду с этим порты tcp обычно связаны с значением тайм-аута, прежде чем они будут повторно использованы, уменьшите этот таймаут, чтобы освободить больше портов, когда их работа будет выполнена.
Подробнее ... here.
Дополнение
В случае, если ошибка не устранена, попробуйте увеличить число рабочих процессов, PHP-FPM до 100. Несмотря на то, что не рекомендуется устанавливать значение так высоко, как они потребляют добавления памяти.
pm.max_children = 100
pm.start_servers = 90
pm.min_spare_servers = 70
pm.max_spare_servers = 100
Вы можете попробовать различные значения, чтобы получить оптимальное решение для вашей цели.
Основная причина для 502 - когда nginx не может пересылать или не пересылать запрос на php-fpm. Увеличение числа рабочих процессов php-fpm может быть одним из способов, тем самым давая nginx больше процессов для пересылки запросов.
http://www.nginxtips.com/502-bad-gateway-using-nginx/ –
Привет, Алекс, я пробовал советы, упомянутые на предоставленной ссылке, отключая APC и устанавливая буфер fcgi и таймаут по ссылке, но не получил Успех – coder