fbpx Nginx en Linux: Configurar Virtual Hosts, Proxy y SSL (Guía) | Certificação Linux

Nginx en Linux: Virtual Hosts, Proxy Reverso y SSL con Let's Encrypt

📅 19/07/2026 ⏱ 4 min ✍️ Uira Ribeiro
Nginx en Linux: Virtual Hosts, Proxy Reverso y SSL con Let's Encrypt
Exam Pass App — mais de 7.000 questões LPI, offline, em 5 idiomas, disponível no Android e na App Store
Disponible en
Google Play
Disponible en
App Store

Nginx (se pronuncia "engine-x") es el servidor web y proxy reverso más utilizado en el mundo, presente en más del 34% de los sitios con servidor web activo. Supera a Apache en rendimiento con conexiones simultáneas por consumir mucha menos memoria por solicitud.

Instalación

# Ubuntu/Debian
sudo apt update && sudo apt install nginx -y

# CentOS/RHEL/Rocky
sudo dnf install nginx -y

# Iniciar e habilitar
sudo systemctl enable --now nginx

# Verificar status
sudo systemctl status nginx

# Testar no browser: http://SEU_IP → página padrão do Nginx

Estructura de Directorios

/etc/nginx/
├── nginx.conf              # configuração principal
├── sites-available/        # blocos de servidor disponíveis
├── sites-enabled/          # links simbólicos para os ativos
├── conf.d/                 # configurações extras (alternativa ao sites-*)
└── snippets/               # trechos reutilizáveis (SSL, fastcgi, etc.)

/var/log/nginx/
├── access.log              # todas as requisições
└── error.log               # erros e avisos

Virtual Host (Server Block)

Un virtual host permite servir múltiples dominios en el mismo servidor:

# /etc/nginx/sites-available/meusite.com.br
server {
    listen 80;
    listen [::]:80;
    server_name meusite.com.br www.meusite.com.br;

    root /var/www/meusite.com.br;
    index index.html index.php;

    location / {
        try_files $uri $uri/ =404;
    }

    access_log /var/log/nginx/meusite.access.log;
    error_log  /var/log/nginx/meusite.error.log;
}
# Ativar o site
sudo ln -s /etc/nginx/sites-available/meusite.com.br            /etc/nginx/sites-enabled/

# Verificar sintaxe antes de recarregar
sudo nginx -t

# Recarregar sem derrubar conexões ativas
sudo systemctl reload nginx

Proxy Reverso para Node.js / Python / Cualquier App

El uso más común de Nginx en entornos modernos es como proxy reverso: recibe la solicitud en el puerto 80/443 y la reenvía a la aplicación que se ejecuta en otro puerto:

server {
    listen 80;
    server_name api.meusite.com.br;

    location / {
        proxy_pass         http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header   Upgrade    $http_upgrade;
        proxy_set_header   Connection 'upgrade';
        proxy_set_header   Host       $host;
        proxy_set_header   X-Real-IP  $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_cache_bypass $http_upgrade;
    }
}

Este bloque funciona con Node.js, FastAPI (Python), Laravel (PHP via FPM), Rails, etc. Solo hay que cambiar el puerto en proxy_pass.

HTTPS gratuito con Let's Encrypt

# Instalar Certbot
sudo apt install certbot python3-certbot-nginx -y

# Obter certificado e configurar Nginx automaticamente
sudo certbot --nginx -d meusite.com.br -d www.meusite.com.br

# Certbot adiciona automaticamente:
#   listen 443 ssl;
#   ssl_certificate / ssl_certificate_key
#   redirect de HTTP → HTTPS

# Renovação automática (já configurada via cron/systemd timer)
sudo certbot renew --dry-run

Configuraciones de Rendimiento

# Em nginx.conf, dentro do bloco http {}

# Compressão gzip
gzip on;
gzip_types text/plain text/css application/json application/javascript
           text/xml application/xml image/svg+xml;
gzip_min_length 1024;

# Cache de arquivos estáticos
server {
    location ~* \.(jpg|jpeg|png|webp|avif|gif|ico|css|js|woff2)$ {
        expires 1y;
        add_header Cache-Control "public, immutable";
    }
}

Comandos Esenciales

sudo nginx -t              # testa configuração (sempre antes de recarregar)
sudo systemctl reload nginx # recarrega sem derrubar conexões
sudo systemctl restart nginx # reinicia completamente
sudo nginx -s quit         # encerra graciosamente

# Ver erros em tempo real
sudo tail -f /var/log/nginx/error.log

# Ver requisições em tempo real
sudo tail -f /var/log/nginx/access.log

Nginx vs Apache

Nginx utiliza arquitectura basada en eventos (asíncrona), lo que significa que un único hilo puede manejar miles de conexiones simultáneas. Apache usa un hilo o proceso por conexión — excelente para compatibilidad con módulos como mod_php, pero más pesado en escala. Para servidores modernos con proxy reverso o alta carga estática, Nginx es la elección estándar.

Nginx y la Certificación LPI

El examen LPIC-2 (tópico 208) cubre instalación y configuración de servidores web, incluyendo Nginx. Dominar virtual hosts, proxy reverso y SSL ya cubre la mayor parte de lo que se pide — y además ganas una habilidad muy solicitada en puestos de sysadmin y DevOps.

Uira Ribeiro

Prof. Uirá Ribeiro

Chair do Board do Linux Professional Institute

Después de años viendo profesionales perder horas en tareas simples por no conocer las herramientas correctas de Linux, decidí enseñar.
Hoy soy autor de la mayoría de los Materiales de Aprendizaje oficiales de la LPI y mentor de más de 14,000 alumnos certificados.

Conoce mi historia completa →

Eso fue solo una pieza. El curso enseña el camino completo — desde tu primer comando hasta el día del examen.

Certificação Linux — a plataforma líder em certificações Linux no Brasil
WhatsApp