Sintaxis de la directiva Apache SetHandler al configurar PHP FPM

Sintaxis de la directiva Apache SetHandler al configurar PHP FPM

Seguí un par de tutoriales y configuré Apache para usar PHP FPM. Sin embargo, no entiendo qué parte de la SetHandlerlínea está haciendo y, según algunos de mis experimentos, parece redundante. Tengo la linea:

SetHandler "proxy:unix:/run/php/php7.3-fpm.sock|fcgi://localhost"

Esto funciona ya sea que |fcgi://localhostesté presente o no.

En varios lugares, como en la configuración de Plesk, he visto la parte fcgi://localhostreemplazada porfcgi://127.0.0.1:9000

¿Cuál es el propósito del |fcgi://localhost? ¿Es redundante y se puede eliminar?

¿La tubería que separa el calcetín y el fcgi debe sock|fcgiinterpretarse como una 'o', lo que significa que si el socket Unix no está presente, use la conexión tcp en su lugar?

En la configuración de mi grupo FPM, intenté reemplazar la directiva de escucha con un host y un puerto, también con solo un puerto, pero parece que no puedo hacerlo funcionar. ¿Cómo configuraría PHP FPM para que esté disponible a través de TCP en lugar de un socket Unix? No tengo ninguna razón para querer hacer esto en este momento, es solo para aprender.

Finalmente. ¿Es este el sitio 'stack' correcto para hacer esta pregunta?


Editar para decir que he encontrado unpequeña documentaciónde apache. El último ejemplo en la sección de ejemplos habla sobre el uso de |fcgi://somethingen el contexto de forzar una solicitud de proxy inverso, pero realmente no entiendo esto.

Respuesta1

La documentación establece claramente por qué debes incluirla aunque no sea obligatoria:

Por motivos de rendimiento, querrás definir un trabajador que represente el mismo fcgi://backend. El beneficio de este formulario es que permite que se realice la asignación normal de URI al nombre de archivo en el servidor, y el resultado del sistema de archivos local se pasa al backend. Cuando FastCGI se configura de esta manera, el servidor puede calcular el PATH_INFO más preciso.

información relacionada