NAP Latino

Publicado el 29 de julio de 2026 · Revisado el 29 de julio de 2026

Cómo instalar y configurar Nginx en un VPS desde cero, paso a paso

Si tienes un VPS sin cPanel, Nginx es el servidor web más común para poner un sitio en línea: liviano, rápido y con una configuración que se entiende una vez que sabes qué está haciendo cada línea. Esta guía instala Nginx desde cero, configura tu primer dominio y deja el servidor listo para recibir tráfico real.

Si tu VPS no trae cPanel, no tienes un panel gráfico que instale el servidor web por ti — lo haces tú mismo, línea por línea. La buena noticia es que Nginx, una vez que entiendes la lógica de su configuración, es rápido de instalar y fácil de mantener. Vamos a dejarlo corriendo desde cero y a publicar tu primer sitio real.

Conéctate a tu VPS por SSH con un usuario que tenga permisos de sudo, y actualiza el sistema antes de instalar nada — una lista de paquetes desactualizada es la causa más común de que una instalación falle a medias:

sudo apt update && sudo apt upgrade -y

Instala Nginx desde los repositorios oficiales de tu distribución:

sudo apt install -y nginx

Verifica que el servicio quedó activo y configurado para iniciar solo si el servidor se reinicia:

sudo systemctl status nginx
sudo systemctl enable nginx

Deberías ver active (running) en verde. Si tu VPS tiene firewall (UFW), este es el momento de abrir los puertos correctos — sin esto, nadie desde afuera va a poder ver tu sitio aunque Nginx esté corriendo perfectamente:

sudo ufw allow 'Nginx Full'

Ese perfil abre tanto el puerto 80 (HTTP) como el 443 (HTTPS), para que no tengas que volver a tocar el firewall cuando más adelante instales el certificado SSL.

Confirma que Nginx responde entrando a http://IP-DE-TU-VPS desde el navegador. Deberías ver la página de bienvenida por defecto de Nginx — eso confirma que el servidor está corriendo antes de que empieces a complicarlo con configuración propia.

Ahora crea la carpeta donde va a vivir tu sitio. Nginx sirve por defecto desde /var/www/html, pero cuando vas a manejar varios dominios en el mismo VPS conviene separarlos desde el principio en carpetas propias:

sudo mkdir -p /var/www/tudominio.com/html
sudo chown -R $USER:$USER /var/www/tudominio.com/html

Crea una página de prueba para confirmar que ese dominio específico está sirviendo el contenido correcto y no el de por defecto:

echo "<h1>Funciona: tudominio.com</h1>" > /var/www/tudominio.com/html/index.html

Crea el archivo de configuración (el "server block") para ese dominio. Este archivo es lo que le dice a Nginx qué contenido servir cuando llega una petición para ese dominio en particular — sin él, Nginx no sabe distinguir un dominio de otro:

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

Pega esta configuración mínima, cambiando tudominio.com por tu dominio real:

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

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

server_name es lo que le dice a Nginx a qué dominio responde este bloque, root apunta a la carpeta que acabas de crear, y location / define qué hacer con cada petición — en este caso, buscar el archivo pedido y devolver un error 404 si no existe.

Activa esa configuración creando un enlace simbólico hacia la carpeta que Nginx sí lee activamente (sites-available solo guarda la configuración, sites-enabled es lo que Nginx realmente aplica):

sudo ln -s /etc/nginx/sites-available/tudominio.com /etc/nginx/sites-enabled/

Antes de recargar, verifica que la sintaxis esté correcta. Este paso te salva de tumbar el servidor por un error de tipeo — si algo está mal, nginx -t te lo dice antes de aplicar el cambio:

sudo nginx -t

Si responde syntax is ok y test is successful, aplica el cambio:

sudo systemctl reload nginx

Por último, apunta el registro A de tu dominio a la IP de tu VPS desde el panel de tu proveedor de DNS. Una vez que la propagación termine (puede tardar desde minutos hasta un par de horas), entrar a tudominio.com va a mostrar la página que configuraste, no la de bienvenida por defecto.

Tu sitio ya está en línea, pero todavía corriendo sin cifrado (HTTP, no HTTPS) — el certificado SSL para un servidor sin cPanel es el siguiente paso obligatorio antes de recibir tráfico real o formularios con datos de usuarios, y lo cubriremos en detalle en otra guía.

Nginx en un VPS básico sirve perfecto para un sitio o unos pocos dominios livianos. Si vas a alojar varias aplicaciones con tráfico real en el mismo servidor, vas a necesitar más CPU y RAM de los que trae un plan de entrada. En /planes/vps tienes las opciones con los recursos para que Nginx no se quede corto cuando el tráfico empiece a crecer.