El Nginx (pronunciado Engine-X ) es un servidor de servidor web de código abierto, ligero y de alto rendimiento utilizado como servidor proxy inverso para HTTP, HTTPS, SMTP, IMAP, protocolos POP3, y también se utiliza para el equilibrio de carga de servidores y caché HTTP. El Nginx acelera el contenido y la entrega de aplicaciones, mejora la seguridad, facilita la disponibilidad y escalabilidad de los sitios web más concurridos de Internet.

En términos sencillos, Nginx es sólo un tipo de software que se utiliza en servidores web para satisfacer solicitudes simultáneas. Anteriormente, instalábamos el Apache en servidores web para manejar estas funciones; pero como el mundo está creciendo y exigiendo más cosas al mismo tiempo vino el Nginx.

Nginx [1]

¿Por qué Apache es lento? ¿Cómo surgió Nginx?

Apache fue lanzado en 1995 cuando no había el concepto multitarea. Más tarde, cuando se requirió la necesidad de multitarea, el MPM (Multi-Processing Module) fue agregado en Apache para superar este problema. Pero con esta nueva característica, el consumo de memoria comenzó a aumentar en los próximos años; los sitios gigantes como Google pasaron a recibir millones de visitas todos los días.Entonces, la necesidad de una nueva plataforma o de un cambio en el Apache era necesaria.

Este problema fue nombrado como  Problema C10K .

Entonces, Igor Sysoev inició el desarrollo de Nginx en 2002 para superar el mismo problema, y ​​el Nginx fue lanzado públicamente en 2004.

Ahora (en 2014) Nginx hospeda casi más del 12% (22 mil millones) de sitios activos en todos los dominios.

¿Cómo funciona Nginx?

Nginx sigue el proceso basado en eventos; no crea un hilo de petición individual para cada proceso, tal como Apache, pero sigue inteligentemente los acontecimientos de un proceso. A continuación se muestra la demostración de un servidor Nginx que administra solicitudes simultáneas de archivos MP3 y MP4.

How-nginx-works-demonstration [1]

El Nginx dividió el trabajo worker conections y  worker process . Aquí las worker conections  son la gestión de la solicitud realizada y la respuesta obtenida por los usuarios en el servidor web; al mismo tiempo, estas peticiones se pasan al proceso padre, que es el worker process .

Un worker process sólo puede manejar alrededor de 1.024 conexiones a la vez.

Por último, el worker process transfiere las peticiones al Proceso Maestro Nginx , que responde rápidamente a una sola petición.

Nginx-architecture [1]

El Nginx es asincrónico; esto significa que cada pedido en el Nginx se puede ejecutar simultáneamente sin obstruirse como si fuera un tubo de agua. Por lo tanto, Nginx mejora los recursos prácticamente compartidos sin estar dedicado y bloqueado a una conexión específica.

Es por eso que Nginx es capaz de hacer el mismo trabajo con menos cantidad de memoria y utiliza esa memoria de forma optimizada.

Nginx [1]

In https://www.atulhost.com/nginx

Advertisements