Definición
NGINX (pronunciado "engine-x") es un servidor web de código abierto y proxy inverso de alto rendimiento que impulsa una gran parte de la web moderna. Sirve archivos estáticos directamente, redirige el tráfico a backends de aplicaciones como PHP-FPM, servidores Node.js y Python WSGI/ASGI, termina conexiones SSL/TLS, distribuye la carga entre varios servidores upstream y almacena en caché las respuestas HTTP para reducir la carga del backend. NGINX es el servidor web predeterminado en la mayoría de los hosts VPS y dedicados con Linux, y ha superado a Apache como el estándar para sitios de alto tráfico gracias a su arquitectura asíncrona basada en eventos: un número pequeño y fijo de procesos worker gestiona miles de conexiones cada uno mediante E/S no bloqueante, en lugar del modelo tradicional de Apache de un proceso o hilo por conexión, que consume mucha más memoria bajo carga. Esto importa sobre todo por encima de unos cientos de usuarios concurrentes; para un sitio pequeño tipo folleto, la elección apenas se nota. La mayoría de los hosts de WordPress gestionado ejecutan NGINX, a menudo combinado con caché FastCGI, por debajo, aunque la configuración basada en .htaccess no se traslada.
Cómo funciona
NGINX se configura mediante un archivo de texto jerárquico (nginx.conf) que define servidores, locations, upstreams y cachés. Puede ser un servidor web puro, un proxy inverso puro, o ambos. NGINX Plus es la versión comercial de pago con funciones adicionales; el NGINX de código abierto es lo que realmente ejecutan la mayoría de los sitios.
Por qué es importante
Para contenido estático y proxy inverso, NGINX es más rápido y ligero que Apache. Para sitios de alto tráfico, la diferencia importa: NGINX puede gestionar decenas de miles de conexiones concurrentes con hardware modesto. La mayoría de las infraestructuras de producción actuales usan NGINX delante de un servidor de aplicaciones, reservando Apache para compatibilidad heredada.