Diferencias y Similitudes entre PHP-FPM, suPHP y CGI


Diferencias Entre PHP-FPM Vs SuPHP y CGI

En todos estos años que voy dedicado al mundo de la informática, pude comprobar que muchas personas confunden conceptos y aplicaciones en cuanto a servidores web, una de estas ocasiones es la de los controladores para los procesos de PHP, los cuales se mencionan en este título, por ello hoy dia hablaremos sobre las diferencias que hay entre PHP-FPM, SuPHP y CGI.

PHP-FPM (FASTCGI), suPHP y CGI, por lo menos son los más comunes en servidores web, aunque suelen haber otros no muy populares. Estos 3 son controladores cada uno, ósea apuntando a la idea de que muchos confunden que suPHP y CGI son complementos o que se vinculan de alguna manera a PHP-FPM, cuando en realidad no es así. Quizá esto se deba al hecho que en WHM al momento de configurar los controladores de PHP, las opciones están como que un tanto divididas o independientes, destacando más a lo que PHP-FPM en la parte superior del listado de las versiones de PHP, cosa que cuando se activa este, también debajo puedes asignar los controladores a cada versión de PHP. Sin embargo, esto es opcional dependiendo de si se ha activado PHP-FPM o no. Esto da la impresión de que debes vincular alguno de estos 2 controladores a la versión de PHP que ya tiene PHP-FPM, cosa que no es así.

Vista de como se asigna el controlador de PHP en WHM
Vista de como se asigna el controlador de PHP en WHM

Entonces, para comprender, o bien eliges PHP-FPM, o bien eliges suPHP o bien eliges CGI, o si tu servidor te lo permite también estaría la opción de DSO, aunque este último mencionado esta más enfocado a servidores para usos como streaming, juegos u otros parecidos.

Obviamente la elección es siempre dependiendo tus necesidades, dado que cada uno de estos tienen ventajas y desventajas según la disposición de tu servidor y tus necesidades.

Conociendo los controlares de PHP

Para ver las diferencias que hay entre estos controladores de PHP, primero hay que conocerlos, asi podremos ver sus ventajas y sus desventajas.

Vamos a centrarnos solo en estos 3 ya mencionados, cada uno tiene ventajas y desventajas, según lo que vayas a necesitar podrías optar por uno o bien por otro. Recuerda, no por 2 ni por 3, ya que como muchos confunden, 2 de estos 3 controladores, creen que se vincula al FPM.

CGI (Common Gateway Interface)

Son las iniciales de “Common Gateway Interface”, este controlador ejecuta los procesos de PHP como un módulo de CGI, es decir, si tendríamos que monitorear los procesos del servidor, (con el comando top por ejemplo SSH.) entre la lista de procesos te saldrá con ese nombre, CGI. El controlador es bueno cuando se tiene una gran capacidad de CPU, dado que es lo que más consume. Un inconveniente de este controlador es que, en los procesos, no te muestra que usuario (cuenta de sitio web) es el que ejecuta cierto archivo PHP, en cambio te muestra como “nobody”.

suPHP (single user PHP)

Este de la misma manera que CGI, ejecuta bajo el mismo nombre, con la diferencia de que en los procesos te muestra el usuario que ejecuta dicho archivo PHP.

Se dice que suPHP tiene una configuración que optimiza más la seguridad del servidor, dado que, si un sitio web corre peligro de infección o hackeo, este no podrá contagiar a otras cuentas, por ello es el más usado en la mayoría de los servidores de alojamiento compartido.

También es muy recomendado para WordPress, el CMS más usado del mundo. No obstante, suPHP, casi igual del CGI, su desventaja es que hace mucho uso de CPU. Y no todos los sistemas de cacheo soportan este controlador.

PHP-FPM (FastCGI Process Manager)

Se podría decir que es la versión más avanzada de la anterior FastCGI, actualmente es el controlador más popular en los servidores web.

En principio tiene las mismas ventajas que suPHP, en cuanto a seguridad y también muestra los usuarios y en los procesos, se muestra como simple php-fpm. La diferencia de los anteriores es que este en vez de usar más la CPU, consume mucha memoria RAM, pero a día de hoy esto ya no es un problema común, dado que casi todos los servidores ya tienen RAM de sobra. Aunque en las ultima versiones se ha reducido su consumo de memoria RAM.

¿Qué controlador elegir entre esto 3?

Entonces, en conclusión, con este VS entre controladores, según el uso que se vaya a dar podemos definir cuál es el adecuado para su uso.

Por ejemplo, si se trata de un servidor exclusivo para un proyecto único, se recomendaría CGI, dado que, al ser un único usuario, no hace falta reconocer de donde viene los procesos al momento de monitorear los procesos. Además, su consumo de CPU es inferior al de suPHP, y al ser un único proyecto el consumo de CPU casi será irrelevante.

Muchos recomiendan para servidores de uso compartido, suPHP, según sus configuraciones de seguridad y sus ventajas, pero de nuevo debemos considerar el consumo masivo de la CPU.

Por último, si tu servidor dispone de mucha memoria RAM, quizá debas optar por PHP-FPM.

También, podríamos hacer pruebas respecto a cual funciona mejor para nuestro servidor, para ello podríamos activar uno y otro para revisar como afecta al rendimiento del servidor y con ello sacar conclusiones que nos ayuden a decidir con cual quedarnos.

¿Cómo activar estos controladores de PHP?

No lo comente, pero los controladores también son llamados como Handlers, esto si la configuración de tu WHM, está en inglés.

Como aumento para terminar el artículo, te pongo la ruta que debes seguir para poder configurar estos handlers, obviamente primero debes identificarte con tus datos de acceso a WHM.:

WHM => HOME => SOFTWARE => MULTIPHP MANAGER

¡Saludos!




Una respuesta a “Diferencias y Similitudes entre PHP-FPM, suPHP y CGI”

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Swipe to unlock!
Unlocked

Buscar
Sobre este blog

Somos una agencia de marketing online y diseño web, dispuestos a ayudar a nuestros clientes con artículos relevantes a nuestros servicios, síguenos y aprende con nosotros!

Sobre nosotros
Consúltanos

Si deseas contratar nuestros servicios, puedes pedirnos un prepuesto gratis sin compromiso! realizaremos un análisis de tu website viendo todos los factores que se podrían optimizar para poder lograr el éxito en tus proyectos!

Contáctanos
Categorías
Últimos posts

Por favor, espere...

Subscribete a nuestra Newsletters

Entérate de todos nuestros nuevos posts y promociones en nuestros servicios. Es GRATIS!