Café y Código

7. Servidores Web: Nginx y Apache

¿Qué función cumple un Servidor Web?

Un **Servidor Web** es el programa de infraestructura que escucha peticiones en los puertos públicos 80 (HTTP) y 443 (HTTPS), procesa los encabezados de red y decide cómo responder: entregando un archivo estático (CSS, JS, imágenes) o redirigiendo la petición hacia el backend.

arquitectura_servidor_web.txt
PLAINTEXT
1Navegador (Cliente)
2
3 │ HTTPS :443
4
5Servidor Web (Nginx / Apache)
6
7 │ Reverse Proxy (Puerto 8000 / 3000)
8
9Aplicación Backend (Django, Node.js, Flask)
10
11
12Base de Datos (PostgreSQL / MySQL)

Nginx vs. Apache HTTP Server

  • Nginx: Conocido por su arquitectura orientada a eventos e hiper-rápida. Excelente para servir archivos estáticos, balanceo de carga y actuar como Reverse Proxy.
  • Apache: Servidor clásico y robusto. Utiliza una arquitectura basada en hilos/procesos por conexión y permite configuración dinámica local mediante archivos .htaccess.

Ejemplo de Configuración de Nginx (Reverse Proxy)

A continuación se muestra un bloque de servidor básico en nginx.conf que redirige el tráfico público del puerto 80 hacia una app corriendo internamente en el puerto 8000:

sites-available/mi-proyecto.conf
NGINX
1server {
2 listen 80;
3 server_name mi-proyecto.cl www.mi-proyecto.cl;
4
5 location / {
6 proxy_pass http://127.0.0.1:8000;
7 proxy_set_header Host $host;
8 proxy_set_header X-Real-IP $remote_addr;
9 }
10
11 location /static/ {
12 alias /var/www/mi-proyecto/static/;
13 }
14}

Ponte a prueba

Verifica si comprendes la diferencia y función de Nginx y Apache en producción.

Ko-fi
Donaciones
Apoyá cafeycodigo con un café en Ko-fi. Colaboradores: insignia, muro y zona exclusiva.