Red de conocimiento informático - Conocimiento informático - Cómo explicar la relación entre cgi, fastcgi y php-fpm de forma popular

Cómo explicar la relación entre cgi, fastcgi y php-fpm de forma popular

Este tema se puede discutir en dos niveles:

1. Si el intérprete PHP está integrado en el proceso del servidor web y se ejecuta dentro del proceso

mod_php embeds el intérprete PHP en Apache En el proceso, solo se puede usar con Apache, mientras que cgi y fast-cgi aparecen como procesos independientes. Siempre que el servidor web correspondiente implemente el protocolo cgi o fast-cgi, puede manejar solicitudes PHP.

La mayor desventaja de este método de incrustación de mod_php es que ocupa mucha memoria, independientemente de si se utiliza el intérprete PHP o no, normalmente se cargará en la memoria. imposible procesar archivos estáticos como CSS y JS. No es necesario cargar el intérprete.

2. Número de solicitudes procesadas por un solo proceso

Los modos mod_php y fast-cgi pueden manejar múltiples solicitudes durante el ciclo de vida de cada proceso, mientras que el modo cgi las maneja. una solicitud El proceso se destruye inmediatamente. El rendimiento de cgi es muy pobre en escenarios de alta concurrencia.

En resumen, si tiene requisitos de rendimiento extremadamente altos, puede separar las solicitudes estáticas y las solicitudes dinámicas. En este caso, Nginx php-fpm es una mejor opción.

PD: cgi y fastcgi generalmente se refieren a la especificación del protocolo para la comunicación entre el servidor web y el intérprete, y php-fpm es una implementación del protocolo fastcgi.