Problema de comunicación entre Nginx y php-fpm

Problema de comunicación entre Nginx y php-fpm

Tengo 2 servidores nginx y 4 servidores php-fpm dedicados configurados en sentido ascendente para ejecutar PHP con 2 instancias cada uno. En sentido ascendente, he proporcionado 8 instancias con puertos 9000 y 9001 para cada servidor php-fpm.

En algún momento, lo que sucede es que nginx no puede conectar php-fpm en los puertos 9000 y 9001 e incluso cuando hago telnet desde nginx al servidor php-fpm en los puertos 9000 o 9001, no se conecta.

¿Qué tipo de registro se debe habilitar en nginx y php-fpm para identificar el problema si se trata de un problema de conectividad de red o de servidor?

Cualquier ayuda sería muy apreciada.

Gracias

Respuesta1

Es posible que php-fpm solo escuche en 127.0.0.1 y no acepte conexiones de otros servidores, debe ejecutar (como root) 'netstat -tulnp' y ver en qué puerto/dirección escucha php-fpm.

Respuesta2

De los comentarios me vienen a la mente cuatro cosas.

  1. Enrutamiento: son los dos nodos de una red que permiten que ésta pueda conectarse entre sí. Utilice una herramienta de red como traceroute, arp, arping para verificarlo (arp para asegurarse de que el nodo sea el mismo).
  2. ¿Existe un firewall o una política de seguridad intermedia que bloquee dichos puertos?
  3. ¿Su servidor ejecuta RHEL/CentOS/Fedora o cualquier otra versión que permita SELinux? En caso afirmativo, es posible que desee desactivarlo e intentarlo. Los siguientes comandos le darán el estado de SElinux y lo harán permisivo si así lo desea. Verifique el estado de SElinux: getenforceO sestatus | grep -i mode. Hágalo permisivo, si se aplica: setenforce 0. Verifique el estado nuevamente: getenforce.
  4. verifique IPtables en ambos servidores. iptables -nLenumeraría si iptables está habilitado y permite estos puertos. Puede hacer lo siguiente para guardar las reglas actuales, eliminarlas y detener iptables por el momento.
    /etc/init.d/iptables guardar 
    iptables -F
    /etc/init.d/iptables detener

Respuesta3

Es posible que php-fpm se haya quedado sin procesos secundarios cuando esto suceda; verifique los registros de su grupo para detectar errores. Esto suele suceder si tiene consultas PHP de larga duración en un entorno de mucho tráfico.

información relacionada