NGINX, servidor web diseñado para alta concurrencia. NGINX fue escrito específicamente para abordar las limitaciones de rendimiento de los servidores web Apache. Fue creado en 2002 por Igor Sysoev, un administrador del sistema para un sitio de portal ruso popular (Rambler.ru), como una solución de escala para ayudar al sitio a administrar cada vez más volúmenes de tráfico. Fue abierto en octubre de 2004, en el 47 aniversario del lanzamiento de Sputnik.
NGINX se puede implementar como un servidor web independiente, y como un servidor front-end para Apache y otros servidores web. Esta solución instantánea actúa como un dispositivo de descarga de red frente a los servidores de Apache, traduciendo las conexiones lentas de Internet en conexiones de servidor rápidas y confiables, y descargando completamente las conexiones activas de los servidores de Apache. El efecto neto es restaurar el rendimiento de Apache cerca de los niveles que los administradores ven en un punto de referencia local. (Usa un modelo de procesamiento más eficiente: la medida más simple y efectiva que puede tomar es poner un proxy HTTP eficiente frente a sus servidores web o de aplicaciones. Un proxy controlado por eventos como NGINX no tiene las limitaciones de concurrencia descritas anteriormente. Se ríe ante conexiones lentas y keepalives inactivos. Además, traduce de manera efectiva las conexiones lentas del lado del cliente con múltiples conexiones inactivas de mantenimiento en conexiones rápidas, locales y altamente eficientes al estilo de referencia que extraen el mejor rendimiento posible de sus servidores web y de aplicaciones.)
NGINX también actúa como un amortiguador, protegiendo a los servidores Apache vulnerables de los picos en el tráfico y de los ataques de conexión lenta como Slowloris y slowhttprequest.
El secreto en la arquitectura
El rendimiento y la escalabilidad de NGINX surgen de su arquitectura basada en eventos. Se diferencia significativamente del enfoque de proceso o subproceso por conexión de Apache : en NGINX, cada proceso de trabajo puede manejar miles de conexiones HTTP simultáneamente. Esto se traduce en una implementación altamente considerada que es liviana, escalable y de alto rendimiento.
Un patrón de inicio muy común es implementar el software de código abierto NGINX como un proxy (o NGINX Plus como la plataforma de entrega de aplicaciones) frente a una aplicación web basada en Apache. NGINX realiza el trabajo pesado relacionado con HTTP: sirve archivos estáticos, almacena en caché y descarga conexiones HTTP lentas, de modo que el servidor Apache puede ejecutar el código de la aplicación en un entorno seguro.
NGINX proporciona todas las características principales de un servidor web, sin sacrificar las cualidades ligeras y de alto rendimiento que lo han hecho exitoso, y también puede servir como un proxy que reenvía las solicitudes HTTP a los servidores web ascendentes (como un backend de Apache) y FastCGI, memcached, SCGI y servidores uWSGI. NGINX no busca implementar la amplia gama de funciones necesarias para ejecutar una aplicación, en lugar de eso, confía en servidores de terceros especializados como PHP-FPM, Node.js e incluso Apache.
Usa NGINX como un Proxy HTTP Acelerado
NGINX utiliza una arquitectura diferente que no sufre los problemas de concurrencia descritos anteriormente. Transforma las conexiones lentas de los clientes en conexiones optimizadas como puntos de referencia para extraer el mejor rendimiento de sus servidores.
NGINX utiliza un modelo de eventos altamente eficiente para administrar las conexiones.
Cada proceso NGINX puede manejar múltiples conexiones al mismo tiempo. Cuando se acepta una nueva conexión, la sobrecarga es muy baja (un nuevo descriptor de archivo y un nuevo evento para sondear), a diferencia del modelo por proceso o por hilo descrito anteriormente.
Con NGINX actuando como un proxy HTTP, verá:
Mejor aprovechamiento de los recursos existentes. Sus servidores web y de aplicaciones pueden procesar más transacciones por segundo porque ya no realizan el trabajo pesado de HTTP.
Reducción de las tasas de error. Los tiempos de espera de HTTP son mucho menos probables porque NGINX actúa como un planificador central para todos los clientes.
Mejor desempeño del usuario final. Los servidores se ejecutan de manera más eficiente y las conexiones de servicio son más rápidas.
Leer también: Post anterior en este blog sobre Nginx, descripción general de Apache, características y procesamiento de solicitudes; servidores web basados en procesos vs web servers basados en eventos
More from Hosting
Servidores Dedicados: ¿Qué son y por qué podrías necesitar uno?
En la era digital actual, la presencia en línea se ha convertido en un pilar fundamental para empresas y emprendedores. …
Protegiendo tu Blog de Ataques de Rastreo y Scraping
En el mundo digital actual, los blogs son una parte integral de la expresión personal y profesional en línea. Sin …
Soluciones a 5 problemas comunes del server room
Soluciones a 5 problemas comunes del server room. Cuando se trata de seguridad para la red de su empresa, la …