Despliegue de una aplicación JavaScript en VPS: guía paso a paso de la A a la Z

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Introducción: Por qué VPS es la elección correcta para tu aplicación Node.js

Has escrito una aplicación genial en JavaScript (Node.js), la has probado localmente, y ahora está lista para conquistar el mundo. Pero, ¿cómo trasladarla del acogedor entorno de desarrollo al duro mundo de la producción? La respuesta es simple: VPS (Servidor Privado Virtual). A diferencia del hosting compartido, un VPS te da control total sobre el servidor, acceso root y la posibilidad de ajustar finamente el entorno a las necesidades de tu aplicación Node.js.

En esta guía paso a paso recorreremos todo el camino: desde la compra del servidor y la instalación de Node.js hasta la configuración del dominio, el certificado SSL y el gestor de procesos PM2. Aprenderás cómo hacer que tu sitio sea estable, rápido y seguro. ¡Vamos allá!



Paso 1: Preparación del VPS y conexión al servidor

Lo primero que debes hacer es alquilar un VPS. Cualquier proveedor popular sirve: DigitalOcean, Linode, Vultr o sus análogos rusos. La configuración mínima para una aplicación pequeña es 1 vCPU y 1 GB de RAM (con Ubuntu 20.04 o 22.04 LTS).

Después de crear el servidor, recibirás una dirección IP y una contraseña root. Conéctate por SSH:

ssh root@tu_dirección_IP

Si usas macOS o Linux, el cliente SSH ya está integrado. En Windows puedes usar PowerShell o Putty.

Actualiza el sistema inmediatamente:

apt update && apt upgrade -y

Consejo: crea un usuario separado (no root) para el trabajo diario. Esto mejora la seguridad:

adduser miusuariousermod -aG sudo miusuariosu - miusuario


Instalación de Node.js y npm

Instalaremos la última versión estable de Node.js a través de NodeSource — esta es la forma más fiable:

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -sudo apt install -y nodejs

Verifica las versiones:

node --version   # v20.x.xnpm --version    # 10.x.x

¡Excelente! Ahora tenemos el entorno para ejecutar código JavaScript en el servidor.



Paso 2: Subir la aplicación al servidor e instalar dependencias

Hay varias formas de transferir el código. La más sencilla para principiantes es usar git clone. Si tu código está en GitHub/GitLab, ejecuta:

git clone https://github.com/tu_cuenta/tu_repositorio.git /var/www/miappcd /var/www/miapp

Si el repositorio es privado, configura las claves SSH o usa un Personal Access Token.

Una forma alternativa es subir los archivos mediante SCP (desde tu consola local):

scp -r /ruta/a/tu/proyecto miusuario@tu_IP:/var/www/miapp

Después de transferir el código, instala las dependencias:

cd /var/www/miappnpm install --production

La bandera --production garantiza que no se instalarán dependencias de desarrollo (tests, bundlers, etc.), lo que ahorra espacio y mejora la seguridad.



Configuración de variables de entorno

Nunca guardes contraseñas ni claves API en el código. Crea un archivo .env en la raíz del proyecto:

nano .env

Ejemplo de contenido:

PORT=3000DB_HOST=localhostDB_USER=miusuarioDB_PASS=supersecretoJWT_SECRET=misecretojwt123

Asegúrate de que este archivo esté añadido a .gitignore. Para leer las variables en el código, usa el paquete dotenv (ya debería estar en tus dependencias).



Paso 3: Ejecutar la aplicación con PM2 y configurar el inicio automático

Si ejecutas node app.js y cierras la sesión SSH, la aplicación se detendrá. Necesitamos un gestor de procesos que mantenga la aplicación funcionando 24/7. PM2 es la elección ideal para Node.js.

Instala PM2 globalmente:

sudo npm install -g pm2

Ejecuta la aplicación:

pm2 start app.js --name "miapp"

Si tu aplicación usa el puerto 3000,

Blogs

Book Recommendations