{"id":4550,"date":"2023-12-01T20:42:20","date_gmt":"2023-12-01T20:42:20","guid":{"rendered":"https:\/\/logicalweb.bo\/blog\/?p=4550"},"modified":"2023-12-09T16:53:34","modified_gmt":"2023-12-09T16:53:34","slug":"diferencias-y-similitudes-entre-php-fpm-suphp-y-cgi","status":"publish","type":"post","link":"https:\/\/logicalweb.bo\/blog\/diferencias-y-similitudes-entre-php-fpm-suphp-y-cgi\/","title":{"rendered":"Diferencias y Similitudes entre PHP-FPM, suPHP y CGI"},"content":{"rendered":"\n<p>En todos estos a\u00f1os que voy dedicado al mundo de la inform\u00e1tica, 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\u00edtulo, por ello hoy dia hablaremos sobre las diferencias que hay entre PHP-FPM, SuPHP y CGI.<\/p>\n\n\n\n<p>PHP-FPM (FASTCGI), suPHP y CGI, por lo menos son los m\u00e1s comunes en servidores web, aunque suelen haber otros no muy populares. Estos 3 son controladores cada uno, \u00f3sea 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\u00ed. Quiz\u00e1 esto se deba al hecho que en WHM al momento de configurar los controladores de PHP, las opciones est\u00e1n como que un tanto divididas o independientes, destacando m\u00e1s a lo que PHP-FPM en la parte superior del listado de las versiones de PHP, cosa que cuando se activa este, tambi\u00e9n debajo puedes asignar los controladores a cada versi\u00f3n de PHP. Sin embargo, esto es opcional dependiendo de si se ha activado PHP-FPM o no. Esto da la impresi\u00f3n de que debes vincular alguno de estos 2 controladores a la versi\u00f3n de PHP que ya tiene PHP-FPM, cosa que no es as\u00ed.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"564\" src=\"https:\/\/logicalweb.bo\/blog\/wp-content\/uploads\/asignacion-de-controlador-php-en-whm-1024x564.jpg\" alt=\"Vista de como se asigna el controlador de PHP en WHM\" class=\"wp-image-4558\" srcset=\"https:\/\/logicalweb.bo\/blog\/wp-content\/uploads\/asignacion-de-controlador-php-en-whm-1024x564.jpg 1024w, https:\/\/logicalweb.bo\/blog\/wp-content\/uploads\/asignacion-de-controlador-php-en-whm-300x165.jpg 300w, https:\/\/logicalweb.bo\/blog\/wp-content\/uploads\/asignacion-de-controlador-php-en-whm-768x423.jpg 768w, https:\/\/logicalweb.bo\/blog\/wp-content\/uploads\/asignacion-de-controlador-php-en-whm-1536x846.jpg 1536w, https:\/\/logicalweb.bo\/blog\/wp-content\/uploads\/asignacion-de-controlador-php-en-whm-2048x1128.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Vista de como se asigna el controlador de PHP en WHM<\/figcaption><\/figure>\n\n\n\n<p>Entonces, para comprender, o bien eliges PHP-FPM, o bien eliges suPHP o bien eliges CGI, o si tu servidor te lo permite tambi\u00e9n estar\u00eda la opci\u00f3n de DSO, aunque este \u00faltimo mencionado esta m\u00e1s enfocado a servidores para usos como streaming, juegos u otros parecidos.<\/p>\n\n\n\n<p>Obviamente la elecci\u00f3n es siempre dependiendo tus necesidades, dado que cada uno de estos tienen ventajas y desventajas seg\u00fan la disposici\u00f3n de tu servidor y tus necesidades.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conociendo los controlares de PHP<\/h2>\n\n\n\n<p>Para ver las diferencias que hay entre estos controladores de PHP, primero hay que conocerlos, asi podremos ver sus ventajas y sus desventajas.<\/p>\n\n\n\n<p>Vamos a centrarnos solo en estos 3 ya mencionados, cada uno tiene ventajas y desventajas, seg\u00fan lo que vayas a necesitar podr\u00edas 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.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">CGI (Common Gateway Interface)<\/h3>\n\n\n\n<p>Son las iniciales de \u201c<em>Common Gateway Interface<\/em>\u201d, este controlador ejecuta los procesos de PHP como un m\u00f3dulo de CGI, es decir, <a href=\"https:\/\/logicalweb.bo\/blog\/como-ver-que-esta-saturando-mi-servidor-web\/\" title=\"\">si tendr\u00edamos que monitorear los procesos del servidor<\/a>, (con el comando top por ejemplo SSH.) entre la lista de procesos te saldr\u00e1 con ese nombre, CGI. El controlador es bueno cuando se tiene una gran capacidad de CPU, dado que es lo que m\u00e1s 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 \u201cnobody\u201d.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">suPHP (single user PHP)<\/h3>\n\n\n\n<p>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.<\/p>\n\n\n\n<p>Se dice que suPHP tiene una configuraci\u00f3n que optimiza m\u00e1s la seguridad del servidor, dado que, si un sitio web corre peligro de infecci\u00f3n o hackeo, este no podr\u00e1 contagiar a otras cuentas, por ello es el m\u00e1s usado en la mayor\u00eda de los servidores de alojamiento compartido.<\/p>\n\n\n\n<p>Tambi\u00e9n es muy recomendado para WordPress, el CMS m\u00e1s 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.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">PHP-FPM (FastCGI Process Manager)<\/h3>\n\n\n\n<p>Se podr\u00eda decir que es la versi\u00f3n m\u00e1s avanzada de la anterior FastCGI, actualmente es el controlador m\u00e1s popular en los servidores web.<\/p>\n\n\n\n<p>En principio tiene las mismas ventajas que suPHP, en cuanto a seguridad y tambi\u00e9n 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\u00e1s la CPU, consume mucha memoria RAM, pero a d\u00eda de hoy esto ya no es un problema com\u00fan, dado que casi todos los servidores ya tienen RAM de sobra. Aunque en las ultima versiones se ha reducido su consumo de memoria RAM.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfQu\u00e9 controlador elegir entre esto 3?<\/h2>\n\n\n\n<p>Entonces, en conclusi\u00f3n, con este VS entre controladores, seg\u00fan el uso que se vaya a dar podemos definir cu\u00e1l es el adecuado para su uso.<\/p>\n\n\n\n<p>Por ejemplo, si se trata de un servidor exclusivo para un proyecto \u00fanico, se recomendar\u00eda CGI, dado que, al ser un \u00fanico usuario, no hace falta reconocer de donde viene los procesos al momento de monitorear los procesos. Adem\u00e1s, su consumo de CPU es inferior al de suPHP, y al ser un \u00fanico proyecto el consumo de CPU casi ser\u00e1 irrelevante.<\/p>\n\n\n\n<p>Muchos recomiendan para servidores de uso compartido, suPHP, seg\u00fan sus configuraciones de seguridad y sus ventajas, pero de nuevo debemos considerar el consumo masivo de la CPU.<\/p>\n\n\n\n<p>Por \u00faltimo, si tu servidor dispone de mucha memoria RAM, quiz\u00e1 debas optar por PHP-FPM.<\/p>\n\n\n\n<p>Tambi\u00e9n, podr\u00edamos hacer pruebas respecto a cual funciona mejor para nuestro servidor, para ello podr\u00edamos 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.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfC\u00f3mo activar estos controladores de PHP?<\/h3>\n\n\n\n<p>No lo comente, pero los controladores tambi\u00e9n son llamados como Handlers, esto si la configuraci\u00f3n de tu WHM, est\u00e1 en ingl\u00e9s.<\/p>\n\n\n\n<p>Como aumento para terminar el art\u00edculo, te pongo la ruta que debes seguir para poder configurar estos handlers, obviamente primero debes identificarte con tus datos de acceso a WHM.:<\/p>\n\n\n\n<p>WHM =&gt; HOME =&gt; SOFTWARE =&gt; MULTIPHP MANAGER<\/p>\n\n\n\n<p>\u00a1Saludos!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En todos estos a\u00f1os que voy dedicado al mundo de la inform\u00e1tica, 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\u00edtulo, por ello hoy dia hablaremos sobre las diferencias [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":4557,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14,265,1],"tags":[253,250,252,254,249,251],"class_list":["post-4550","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-diseno-programacion-web","category-blog-de-servidores-web","category-otros","tag-cgi","tag-controladores-php","tag-php","tag-php-cgi","tag-servidores-web","tag-suphp"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/logicalweb.bo\/blog\/wp-json\/wp\/v2\/posts\/4550","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/logicalweb.bo\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/logicalweb.bo\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/logicalweb.bo\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/logicalweb.bo\/blog\/wp-json\/wp\/v2\/comments?post=4550"}],"version-history":[{"count":2,"href":"https:\/\/logicalweb.bo\/blog\/wp-json\/wp\/v2\/posts\/4550\/revisions"}],"predecessor-version":[{"id":4559,"href":"https:\/\/logicalweb.bo\/blog\/wp-json\/wp\/v2\/posts\/4550\/revisions\/4559"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/logicalweb.bo\/blog\/wp-json\/wp\/v2\/media\/4557"}],"wp:attachment":[{"href":"https:\/\/logicalweb.bo\/blog\/wp-json\/wp\/v2\/media?parent=4550"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/logicalweb.bo\/blog\/wp-json\/wp\/v2\/categories?post=4550"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/logicalweb.bo\/blog\/wp-json\/wp\/v2\/tags?post=4550"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}