¿Qué es NGINX y cómo funciona?

NGINX, pronunciado en inglés como “engine-ex”, es un famoso software de servidor web de código abierto. En su versión inicial, funcionaba en servidores web HTTP. Sin embargo, hoy en día también sirve como proxy inverso, balanceador de carga HTTP y proxy de correo electrónico para IMAP, POP3 y SMTP.

Este software fue lanzado oficialmente en octubre del 2004. El creador del software, Igor Sysoev, comenzó su proyecto en el 2002 como un intento de solucionar el problema C10k. C10k es el reto de gestionar diez mil conexiones al mismo tiempo.

Hoy en día, los servidores web tienen que manejar un número aún mas grande de conexiones. Por esa razón, NGINX ofrece una arquitectura asíncrona y controlada por eventos, característica que hace de NGINX uno de los servidores más confiables para la velocidad y la escalabilidad.

Debido a su excelente capacidad para manejar muchas conexiones y a su velocidad, muchos sitios web de alto tráfico usan el servicio de NGINX. Algunos de estos gigantes del internet son Google, Netflix, Adobe, Cloudflare, WordPress.com y muchos más.

¿Cómo funciona NGINX?

Antes de profundizar más en qué es NGINX, repasemos cómo funciona un servidor web. Cuando alguien hace una solicitud para abrir una página web, el navegador se comunica con el servidor de ese sitio web. Luego, el servidor busca los archivos solicitados para la página y se los envía al navegador. Este es sólo el tipo de solicitud más simple.

El ejemplo anterior también se considera como un hilo sencillo. Los servidores web tradicionales crean un solo hilo para cada solicitud, pero NGINX no funciona de esa manera. Como mencionamos antes, NGINX trabaja con una arquitectura asíncrona y controlada por eventos. Esto significa que los hilos similares se administran bajo un proceso de trabajo, y cada proceso de trabajo contiene unidades más pequeñas llamadas conexiones de trabajo.

Toda esta unidad es la responsable de manejar los hilos de las solicitudes. Las conexiones de trabajo entregan las solicitudes a un proceso de trabajo, que también lo enviará a su turno al proceso maestro. Finalmente, el proceso maestro proporciona el resultado de esas solicitudes.

Puede parecer simple, pero una conexión de trabajo puede atender hasta 1024 solicitudes similares. Debido a eso, NGINX puede procesar miles de solicitudes sin ninguna dificultad. También es por eso que NGINX se convirtió en una excelente opción para sitios web con mucho tráfico como comercio electrónico, motores de búsqueda y almacenamiento en la nube.

NGINX vs Apache

Entre los servidores web populares, Apache es uno de los principales rivales de NGINX. Ha existido desde los años 90 y cuenta con una gran comunidad de usuarios. Si tienes curiosidad por saber cuál es el mejor servidor web según tus necesidades, dale vistazo a esta breve e informativa comparación entre NGINX vs Apache.

  • Compatibilidad del sistema operativo: La compatibilidad es uno de los pequeños detalles que deberías tener en cuenta a la hora de elegir el software. Tanto NGINX como Apache pueden ejecutarse en muchos sistemas operativos que soportan el sistema Unix. Desafortunadamente, el rendimiento de NGINX en Windows no es tan bueno como en otras plataformas.
  • Soporte al usuario: Los usuarios, que van desde novatos hasta profesionales, siempre necesitan una buena comunidad que les pueda ayudar cuando enfrenten problemas. Si bien NGINX y Apache tienen soporte por correo y un foro de Stack Overflow, Apache carece de soporte por parte de su compañía, la Apache Foundation.
  • Rendimiento: NGINX puede ejecutar simultáneamente 1000 conexiones de contenido estático dos veces más rápido que Apache y usa un poco menos de memoria. Sin embargo, cuando se comparan por su rendimiento en la ejecución de contenido dinámico, ambos tienen la misma velocidad. NGINX es una mejor opción para aquellos que tienen un sitio web más estático.

Conclusión

NGINX es un servidor web que también actúa como proxy de correo electrónico, proxy inverso y balanceador de carga. La estructura del software es asíncrona y controlada por eventos; lo cual permite el procesamiento de muchas solicitudes al mismo tiempo.

NGINX también es altamente escalable, lo que significa que sus servicios aumentan a la par con el tráfico de sus clientes. NGINX y Apache son, de hecho, dos de los mejores servidores web del mercado.

Author
El autor

Gustavo B.

Gustavo es un apasionado por la creación de sitios web. Se enfoca en la aplicación de estrategias SEO en Hostinger para España y Latinoamérica, así como la creación de contenidos de alto nivel. Cuando no está aplicando nuevos trucos en WordPress lo puedes encontrar tocando la guitarra, viajando o tomando un curso online.