Проблема связи Nginx и php-fpm

Проблема связи Nginx и php-fpm

У меня есть 2 сервера nginx и 4 выделенных сервера php-fpm, настроенных в upstream для выполнения PHP с 2 экземплярами на каждом, то есть в upstream я выделил 8 экземпляров с портами 9000 и 9001 для каждого сервера php-fpm.

Иногда случается так, что nginx не может подключиться к php-fpm через порты 9000 и 9001, и даже когда я подключаюсь по telnet из nginx к серверу php-fpm через порт 9000 или 9001, он не подключается.

Какой тип журнала следует включить в nginx и php-fpm, чтобы определить, связана ли проблема с сетевым подключением или с сервером.

Любая помощь будет высоко оценена.

Спасибо

решение1

Возможно, что php-fpm прослушивает только 127.0.0.1 en и не принимает соединения с других серверов. В таком случае вам следует запустить (как root) «netstat -tulnp» и посмотреть, какой порт/адрес прослушивает php-fpm.

решение2

Из комментариев мне на ум приходят четыре вещи.

  1. Маршрутизация - это два узла в сети, которые позволяют ей подключаться друг к другу. Используйте сетевой инструмент, такой как traceroute, arp, arping, чтобы проверить это (arp, чтобы убедиться, что узел тот же).
  2. Есть ли между ними брандмауэр или политика безопасности, которая блокирует указанные порты?
  3. Работает ли ваш сервер под управлением RHEL/CentOS/Fedora или любой другой версии, которая включает SELinux? Если да, вы можете отключить это и попробовать. Следующие команды дадут вам статус SElinux и сделают его разрешительным, если вы этого хотите. Проверьте статус SElinux: getenforceИЛИ sestatus | grep -i mode. Сделайте его разрешительным, если он обеспечивает: setenforce 0. Проверьте статус еще раз: getenforce.
  4. проверьте оба сервера на наличие IPtables. iptables -nLвыведет список, включен ли iptables и разрешает ли эти порты. Вы можете сделать следующее, чтобы сохранить текущие правила, очистить их и остановить iptables на время.
    /etc/init.d/iptables сохранить 
    iptables -F
    /etc/init.d/iptables остановить

решение3

Когда это происходит, php-fpm может исчерпать дочерние процессы, проверьте журналы пула на наличие ошибок. Обычно это происходит, если у вас есть долго работающие PHP-запросы в среде с высоким трафиком.

Связанный контент