Servir archivos estáticos con Nginx: Consejos de optimización

Descubre las mejores prácticas para configurar Nginx y servir de manera eficiente activos estáticos como imágenes, CSS y JavaScript, logrando tiempos de carga más rápidos.

Introducción

Nginx es ampliamente reconocido por su alto rendimiento al servir contenido estático. Sin embargo, una configuración adecuada es esencial para maximizar la velocidad y reducir la carga del servidor.

Configuración básica

Para servir archivos estáticos, utiliza la directiva root dentro de un bloque location:

location /static/ {
    root /var/www/html;
}

Consejos de optimización

1. Habilitar el almacenamiento en caché del navegador

Configurar cabeceras Expires o Cache-Control permite que los navegadores almacenen los archivos localmente:

location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
    expires 30d;
    add_header Cache-Control "public, no-transform";
}

2. Habilitar la compresión Gzip

Reduce el tamaño de los archivos de texto (HTML, CSS, JS) antes de enviarlos:

gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml;

3. Utilizar sendfile

La directiva sendfile permite a Nginx copiar datos directamente desde el disco al buffer de red, evitando el paso por el espacio de usuario:

http {
    sendfile on;
    tcp_nopush on;
}