Web y SEO

nginx: sirve tu propio sitio, con HTTPS gratis

nginx es el servidor web que sirve a buena parte del internet — gratis, de código abierto y tan eficiente que un servidor de unos cuantos dólares al mes aguanta miles de visitas. Con Certbot encima, el candado HTTPS también sale gratis. Este sitio que estás leyendo corre exactamente así.

Gratis y open source Linux (servidor) · macOS (pruebas)

Instalación

nginx vive normalmente en un servidor Linux (un VPS de DigitalOcean, Hetzner, Vultr o similar). En macOS se instala igual de fácil para probar localmente:

# Ubuntu / Debian (tu servidor)
sudo apt install nginx

# macOS (pruebas locales)
brew install nginx

En el servidor, comprueba que responde: visita la IP del servidor en tu navegador y verás la página de bienvenida de nginx.

Servir tu sitio estático

Sube tus archivos a /var/www/tusitio.com/ y crea el archivo de configuración del sitio (el "server block"):

sudo nano /etc/nginx/sites-available/tusitio.com

Con este contenido mínimo:

server {
    listen 80;
    server_name tusitio.com www.tusitio.com;
    root /var/www/tusitio.com;
    index index.html;
}

Actívalo con una liga simbólica y recarga:

sudo ln -s /etc/nginx/sites-available/tusitio.com /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

Con el DNS de tu dominio apuntando a la IP del servidor (un registro A), tu sitio ya está en línea.

Probar y recargar sin tirar el sitio

El hábito que evita desastres: validar la configuración antes de aplicarla. reload aplica cambios sin cortar conexiones activas:

sudo nginx -t && sudo systemctl reload nginx
Si nginx -t marca error, nada cambió todavía: el sitio sigue arriba con la configuración anterior. Corrige y vuelve a probar.

HTTPS gratis con Certbot

Certbot pide el certificado a Let's Encrypt (gratuito, de la organización sin fines de lucro ISRG) y configura nginx solo:

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d tusitio.com -d www.tusitio.com

Dos preguntas (tu correo y si rediriges todo a HTTPS — di que sí) y listo: candado verde, calificación A. Lo que los hospedajes cobran como "SSL premium" es exactamente esto.

Renovar el certificado automáticamente

Los certificados de Let's Encrypt duran 90 días, pero Certbot instala un temporizador que los renueva solo. Comprueba que está armado:

sudo certbot renew --dry-run

Si el ensayo pasa, no tienes que volver a pensar en esto.

Redirigir www a tu dominio (o al revés)

Que las dos versiones funcionen pero solo una sea la canónica. Un server block extra que redirige permanente:

server {
    listen 80;
    listen 443 ssl;
    server_name www.tusitio.com;
    return 301 https://tusitio.com$request_uri;
}

(Si usaste Certbot, ya tienes las rutas de los certificados en el bloque principal — cópialas a este.)

Activar compresión gzip

Texto, HTML, CSS y JavaScript viajan 60–80% más ligeros. En /etc/nginx/nginx.conf, dentro de http {}:

gzip on;
gzip_types text/css application/javascript application/json image/svg+xml text/plain application/xml;
gzip_min_length 512;

Recarga y compruébalo: curl -sI -H "Accept-Encoding: gzip" https://tusitio.com | grep -i encoding debe responder gzip.

Leer los logs de visitas

nginx anota cada petición. Verlas llegar en vivo:

sudo tail -f /var/log/nginx/access.log

Las páginas más pedidas del día:

sudo awk '{print $7}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -20
Ojo con los números crudos: gran parte de ese tráfico son bots y escáneres, no personas. Filtra por user-agent antes de emocionarte — o pídele a tu IA un script que separe humanos de bots.

Las alternativas que vale la pena conocer

Los tres son gratuitos. nginx es el punto medio: maduro, rapidísimo y con la documentación y respuestas más abundantes — por eso es el que enseñamos.

Comparte esta guía

Si te sirvió, a alguien más también le va a servir.