NGINX: Introducción y Funcionamiento

Servidor web, proxy inverso y balanceador de carga de alto rendimiento.

¿Qué es NGINX?

NGINX (pronunciado "Engine-X") es un servidor web de código abierto diseñado para ofrecer alto rendimiento, estabilidad y bajo consumo de recursos. También puede actuar como proxy inverso, balanceador de carga y caché HTTP.

NGINX es ampliamente utilizado para servir aplicaciones web modernas debido a su capacidad para manejar miles de conexiones simultáneas.

Principales usos de NGINX

Arquitectura básica

Un flujo típico utilizando NGINX como proxy inverso:

Cliente
   |
   v
+---------+
|  NGINX  |
+---------+
   |
   +----------------+
   |                |
   v                v
Backend 1      Backend 2
        

NGINX recibe las solicitudes de los clientes y las distribuye hacia uno o varios servidores backend.

Ejemplo de configuración

Archivo de configuración básico:

server {
    listen 80;
    server_name ejemplo.com;

    location / {
        root /var/www/html;
        index index.html;
    }
}
        

Esta configuración indica que NGINX escuchará en el puerto 80 y servirá archivos desde /var/www/html.

NGINX como Proxy Inverso

server {
    listen 80;

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}
        

En este caso, NGINX recibe las peticiones y las reenvía a una aplicación ejecutándose en el puerto 3000.

Ventajas de NGINX

Conclusión

NGINX es una de las herramientas más utilizadas en infraestructura web. Su capacidad para funcionar como servidor web, proxy inverso y balanceador de carga lo convierte en un componente esencial para aplicaciones modernas.