🌐 Guía completa de Nginx en servidores VPS

Instalación, configuración y comandos esenciales
Nginx es uno de los servidores web más utilizados en entornos Linux y servidores VPS. Destaca por su alto rendimiento, bajo consumo de recursos y su uso como servidor web, proxy inverso y balanceador de carga.
En esta guía aprenderás a instalar, configurar y administrar Nginx en un servidor VPS, con comandos prácticos y ejemplos claros.
ℹ️ Nota
Los valores entre
< >representan datos que debes adaptar a tu entorno
(usuario, dominio, rutas, nombre del proyecto, etc.).
🔍 ¿Qué es Nginx y para qué se usa?
Nginx se utiliza principalmente para:
- Servir sitios web estáticos
- Actuar como proxy inverso
- Ejecutar aplicaciones web (Django, Node, PHP) junto a otros servicios
- Gestionar múltiples sitios en un mismo servidor
En servidores VPS es una opción ideal por su eficiencia.
📦 Instalar Nginx en Linux (Debian / Ubuntu)
Actualizar el sistema:
sudo apt update
Instalar Nginx:
sudo apt install nginx
Comprobar que está activo:
sudo systemctl status nginx
🔄 Comandos básicos de Nginx
Iniciar Nginx:
sudo systemctl start nginx
Detener Nginx:
sudo systemctl stop nginx
Reiniciar Nginx:
sudo systemctl restart nginx
Recargar configuración (sin cortar servicio):
sudo systemctl reload nginx
📁 Rutas importantes de Nginx
/etc/nginx/nginx.conf
/etc/nginx/sites-available/
/etc/nginx/sites-enabled/
/var/log/nginx/access.log
/var/log/nginx/error.log
sites-available→ configuraciones disponiblessites-enabled→ sitios activoslogs→ errores y accesos
🌐 Configurar un sitio web (server block)
Crear archivo de configuración:
sudo nano /etc/nginx/sites-available/<NOMBRE_DEL_SITIO>
Ejemplo básico:
server {
listen 80;
server_name <DOMINIO_O_IP>;
location / {
root /var/www/<NOMBRE_DEL_SITIO>;
index index.html index.htm;
}
}
🔗 Activar el sitio en Nginx
sudo ln -s /etc/nginx/sites-available/<NOMBRE_DEL_SITIO> \
/etc/nginx/sites-enabled/
Probar configuración:
sudo nginx -t
Reiniciar Nginx:
sudo systemctl restart nginx
🚀 Nginx como proxy inverso (Django / Gunicorn)
Ejemplo típico:
server {
listen 80;
server_name <DOMINIO_O_IP>;
location /static/ {
root /home/<USUARIO_APP>/<PROYECTO_DJANGO>;
}
location /media/ {
root /home/<USUARIO_APP>/<PROYECTO_DJANGO>;
}
location / {
include proxy_params;
proxy_pass http://unix:/home/<USUARIO_APP>/<PROYECTO_DJANGO>/gunicorn.sock;
}
}
Este esquema es muy común en despliegues Django en VPS.
📄 Ver logs y diagnosticar errores
Ver errores en tiempo real:
sudo tail -f /var/log/nginx/error.log
Ver accesos:
sudo tail -f /var/log/nginx/access.log
Los logs son clave para detectar:
- errores de configuración
- permisos incorrectos
- problemas con Gunicorn o PHP
⚠️ Errores comunes en Nginx
- Olvidar ejecutar
nginx -tantes de reiniciar - Permisos incorrectos en archivos estáticos
- Socket de Gunicorn inexistente
- Dominio mal configurado
Siempre revisa los logs antes de reiniciar servicios.
🔐 Buenas prácticas en servidores VPS
- Usa
reloaden lugar derestartcuando sea posible - No edites
nginx.confsi no es necesario - Un sitio = un archivo en
sites-available - Mantén backups de configuraciones
✅ Conclusión
Nginx es una pieza fundamental en la administración de servidores VPS y aplicaciones web.
Dominar sus comandos y estructura te permitirá desplegar, mantener y escalar proyectos web de forma profesional.
👉 Para complementar esta guía:
- Revisa los comandos básicos de Linux
- Continúa con comandos Linux para servidores VPS




Comentarios recientes