{"id":1274,"date":"2016-04-05T12:09:55","date_gmt":"2016-04-05T10:09:55","guid":{"rendered":"https:\/\/clouding.io\/blog\/?p=1274"},"modified":"2024-03-06T12:45:52","modified_gmt":"2024-03-06T11:45:52","slug":"apache-nginx","status":"publish","type":"post","link":"https:\/\/clouding.io\/blog\/apache-nginx\/","title":{"rendered":"Nginx vs Apache: \u00bfcu\u00e1l prefieres t\u00fa?"},"content":{"rendered":"<p><strong>\u00bfQuieres utilizar un servidor web y no sabes por cu\u00e1l decidirte? En <a href=\"https:\/\/clouding.io\">Clouding.io<\/a> te damos las claves de las diferencias entre uno y otro<\/strong>, para que as\u00ed puedas tomar una decisi\u00f3n informada. Si te has quedado con alguna duda, no tienes m\u00e1s que llamarnos o escribirnos a soporte@clouding.io, nuestros t\u00e9cnicos, los Cloud Pros estar\u00e1n encantados de resolverla o de ayudarte a instalarlo en tu Servidor VPS.<\/p>\n<p id=\"introduction\"><strong>Apache<\/strong> y <strong>Nginx<\/strong> son los dos <strong>servidores web de c\u00f3digo abierto<\/strong> m\u00e1s comunes en el mundo. Juntos, son los responsables de servir sobre el 50% del tr\u00e1fico en internet. Ambas soluciones son capaces de manejas diversas cargas de trabajo y ser compatibles con otros softwares para dar lugar a una web stack completa.<\/p>\n<p><strong>Nginx<\/strong> y <strong>Apache<\/strong> comparten muchas cualidades pero no deber\u00edas pensar en ellos como completamente intercambiables. <strong>Cada uno de ellos destaca en un \u00e1rea concreta<\/strong> y es importante que comprendas cu\u00e1l es el que mejor se adapta a tus necesidades. En este art\u00edculo te mostraremos cu\u00e1les son esas \u00e1reas en las que cada uno de ellos destaca.<\/p>\n<h2>Manejo de las conexiones y del tr\u00e1fico<\/h2>\n<p>Una de las mayores diferencias entre Apache y Nginx es <strong>la forma en la que ambos manejan las conexiones y el tr\u00e1fico<\/strong>.<\/p>\n<p><strong>Apache<\/strong> proporciona una <strong>variedad de m\u00f3dulos de multi-proceso<\/strong> (Apache los llama <strong>MPMs<\/strong>) que determinan c\u00f3mo se manejan las peticiones de los clientes. B\u00e1sicamente, esto permite a los administradores intercambiar su conexi\u00f3n con un manejo f\u00e1cil de la arquitectura. Estos m\u00f3dulos son <strong>mpm_prefork<\/strong>, <strong>mpm_worker<\/strong> y <strong>mpm_event<\/strong>.<\/p>\n<p>Apache provee de una arquitectura flexible al dar la posibilidad de elegir diferentes conexiones y algoritmos que proporcionan respuestas. Las opciones que ofrece son principalmente una consecuencia de la evoluci\u00f3n del servidor y la necesidad creciente de competitividad, ya que el panorama de internet ha cambiado.<\/p>\n<p><strong>Nginx<\/strong> lleg\u00f3 a escena despu\u00e9s que Apache, con m\u00e1s consciencia de los problemas de competitividad a los que tendr\u00edan que enfrentarse los sites a escala. Con esto en mente, Nginx fue dise\u00f1ado desde la base para usar un algoritmo de manejo de conexiones que fuese as\u00edncr\u00f3nico, sin bloqueo y gestionado por eventos. <strong>Nginx genera trabajadores de procesos, cada uno de los cuales puede manejar miles de conexiones.<\/strong> Esto se consigue a trav\u00e9s de la implementaci\u00f3n de un <strong>mecanismo de bucle r\u00e1pido<\/strong> que, de forma continua, comprueba y procesa eventos. La disociaci\u00f3n entre lo que es trabajo real y las conexiones permite a cada trabajador involucrarse con una conexi\u00f3n s\u00f3lo cuando se ha desencadenado un nuevo evento.<\/p>\n<p>Cada una de las conexiones manejadas por el trabajador se colocan en el bucle de eventos, donde existen junto a otras conexiones. Dentro del bucle los eventos se procesan asincr\u00f3nicamente, permitiendo que el trabajo sea gestionado a trav\u00e9s de un modo de no bloqueo. Cuando la conexi\u00f3n se cierra, se quita del bucle.<\/p>\n<p>Esta clase de proceso de conexiones permite a Nginx escalar de una forma incre\u00edble con recursos muy limitados. Como el servidor no es multi-proceso y los procesos no son generados para manejar cada nueva conexi\u00f3n, <strong>el uso de la memoria y el CPU tienden a mantenerse constantes.<\/strong><\/p>\n<h2 id=\"static-vs-dynamic-content\">Contenido Est\u00e1tico vs Din\u00e1mico<\/h2>\n<p>En t\u00e9rminos de casos de uso real, una de las comparaciones m\u00e1s comunes entre Apache y Nginx es el modo en que cada servidor maneja peticiones para contenido est\u00e1tico y din\u00e1mico.<\/p>\n<p id=\"apache\">Los <strong>servidores Apache<\/strong> pueden <strong>manejar contenido est\u00e1tico<\/strong> usando sus m\u00e9todos convencionales basados en archivos. La ejecuci\u00f3n de estas operaciones es principalmente una funci\u00f3n de los m\u00e9todos MPM arriba descritos.<\/p>\n<p><strong>Nginx<\/strong> <strong>no interpreta archivos .htaccess<\/strong> ni provee de ning\u00fan mecanismo para la evaluar la configuraci\u00f3n por directorio fuera del archivo de la configuraci\u00f3n principal. Esto quiz\u00e1 sea menos flexible que el modelo Apache, pero tambi\u00e9n tiene sus propias ventajas.<\/p>\n<p>Una de esas ventajas es su relaci\u00f3n con la seguridad. La distribuci\u00f3n del acceso a la configuraci\u00f3n a un nivel de directorio tambi\u00e9n distribuye la responsabilidad de la seguridad a los usuarios individuales, en los que quiz\u00e1 no se deber\u00eda confiar para realizar esta tarea bien. Asegur\u00e1ndose de que el administrador mantiene el control sobre todo el servidor web, puede prevenir algunos fallos de seguridad que pueden ocurrir cuando se da acceso a terceras partes.<\/p>\n<p><strong>To be continued<\/strong> (&#8230;) En nuestro art\u00edculo de ma\u00f1ana os seguiremos contando las diferencias entre ambos servidores web.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nginx y Apache son los dos servidores web de c\u00f3digo abierto m\u00e1s famosos del mundo. En este post te contamos sus semejanzas y diferencias.\u00bfCu\u00e1l prefieres t\u00fa?<\/p>\n","protected":false},"author":2,"featured_media":10079,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[88,24,119],"tags":[121,120,122],"yst_prominent_words":[2499,2496,2502,967,2497,2071,2078,2501,2498,2503,1835,1262,939,1270,899,2500,876,2504,1882,711],"class_list":["post-1274","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-actualidad","category-clouding-io","category-servidor-web","tag-apache","tag-nginx","tag-servidores-web"],"acf":[],"_links":{"self":[{"href":"https:\/\/clouding.io\/blog\/wp-json\/wp\/v2\/posts\/1274","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/clouding.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/clouding.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/clouding.io\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/clouding.io\/blog\/wp-json\/wp\/v2\/comments?post=1274"}],"version-history":[{"count":11,"href":"https:\/\/clouding.io\/blog\/wp-json\/wp\/v2\/posts\/1274\/revisions"}],"predecessor-version":[{"id":10078,"href":"https:\/\/clouding.io\/blog\/wp-json\/wp\/v2\/posts\/1274\/revisions\/10078"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/clouding.io\/blog\/wp-json\/wp\/v2\/media\/10079"}],"wp:attachment":[{"href":"https:\/\/clouding.io\/blog\/wp-json\/wp\/v2\/media?parent=1274"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/clouding.io\/blog\/wp-json\/wp\/v2\/categories?post=1274"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/clouding.io\/blog\/wp-json\/wp\/v2\/tags?post=1274"},{"taxonomy":"yst_prominent_words","embeddable":true,"href":"https:\/\/clouding.io\/blog\/wp-json\/wp\/v2\/yst_prominent_words?post=1274"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}