Hosting VPS y dedicados Version en ingles

Articulo de ayuda

Cómo Instalar y Ejecutar Node.js en tu VPS

Instala Node.js en tu VPS con NVM o desde repositorio, ejecuta tu app, configúrala como servicio con PM2 y publica con Nginx como proxy inverso.

Publicado: 11/7/2026 Actualizado: 11/7/2026

Introducción

Node.js es un entorno que permite ejecutar aplicaciones escritas en JavaScript en el servidor. Es muy utilizado para APIs, aplicaciones en tiempo real (chats, notificaciones), aplicaciones con React, Vue o Angular, y microservicios.

Si has desarrollado una aplicación con Node.js y quieres publicarla, un VPS es el lugar ideal. En este artículo vas a ver cómo instalar Node.js, ejecutar tu app y mantenerla funcionando permanentemente.

Node.js no funciona igual que PHP. En PHP, el servidor web (Apache o Nginx) ejecuta los scripts. En Node.js, la aplicación es el servidor: se mantiene corriendo y escuchando peticiones.

Requisitos previos

Antes de empezar necesitas:

  • Un VPS con Ubuntu, Debian, AlmaLinux o Rocky Linux.
  • Acceso por SSH como root o un usuario con sudo.
  • El sistema actualizado.

Método 1: Instalar Node.js con NVM (recomendado)

NVM (Node Version Manager) te permite instalar y cambiar entre varias versiones de Node.js. Es la opción más flexible.

Paso 1: Instalar NVM

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash

Recarga el terminal:

source ~/.bashrc

Paso 2: Instalar Node.js

La versión LTS (soporte a largo plazo) es la recomendada para producción:

nvm install --lts

Comprueba que está instalado:

node -v
npm -v

Ventaja de NVM

Si tu app necesita una versión concreta, instálala:

nvm install 20
nvm use 20

Método 2: Instalar Node.js desde repositorio

Si solo necesitas una versión y quieres algo más simple:

apt install nodejs npm -y

En AlmaLinux/Rocky:

dnf install nodejs npm -y

Comprueba la versión:

node -v

El paquete de los repositorios puede no ser la última versión. Si necesitas una versión concreta, usa NVM.

Ejecutar tu aplicación Node.js

Sube los archivos de tu app al servidor (por FTP, Git o rsync). Luego, entra en la carpeta e instala las dependencias:

cd /var/www/miapp
npm install

Arranca la aplicación:

node app.js

⚠️ Si cierras el terminal, la aplicación se para. Para que se mantenga corriendo necesitas PM2 o systemd (lo vemos a continuación).

Mantener la app corriendo con PM2

PM2 es un gestor de procesos para Node.js. Mantiene tu app corriendo aunque cierres el terminal y la reinicia si se cae.

Instalar PM2

npm install -g pm2

Arrancar tu app con PM2

cd /var/www/miapp
pm2 start app.js --name "miapp"

Guardar la configuración y arranque automático

pm2 startup
pm2 save

PM2 te mostrará un comando para ejecutar (cópialo y pégalo). Así tu app arrancará sola cuando se reinicie el servidor.

[Imagen sugerida: captura de PM2 mostrando el estado de la aplicación]

Comandos útiles de PM2

pm2 status              # ver apps corriendo
pm2 logs miapp          # ver los logs
pm2 restart miapp       # reiniciar la app
pm2 stop miapp          # parar la app
pm2 delete miapp        # eliminar la app de PM2

Publicar con Nginx como proxy inverso

Tu app Node.js corre en un puerto interno (por ejemplo el 3000). Para que sea accesible por el puerto 80 o 443 (HTTP/HTTPS), configura Nginx como proxy inverso.

Paso 1: Instalar Nginx

apt install nginx -y

Paso 2: Crear la configuración del sitio

nano /etc/nginx/sites-available/miapp
server {
    listen 80;
    server_name tu-dominio.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

Paso 3: Activar el sitio

ln -s /etc/nginx/sites-available/miapp /etc/nginx/sites-enabled/
nginx -t
systemctl restart nginx

Ahora tu app es accesible desde http://tu-dominio.com.

Paso 4: Activar SSL con Let’s Encrypt

apt install certbot python3-certbot-nginx -y
certbot --nginx -d tu-dominio.com

[Imagen sugerida: esquema de Nginx como proxy inverso hacia Node.js]

Consejos útiles

  • Usa siempre la versión LTS en producción. Es la más estable.
  • No ejecutes la app como root. Crea un usuario normal para mayor seguridad.
  • Configura variables de entorno. Usa un archivo .env para claves y configuración.
  • Mantén Node.js actualizado. Las actualizaciones corrigen vulnerabilidades.
  • Supervisa los logs. Con PM2 puedes verlos en tiempo real con pm2 logs.

Problemas frecuentes

La app se cae al cerrar el terminal

Es normal. Necesitas PM2 o systemd para mantenerla corriendo como servicio.

No puedo acceder a la app desde el navegador

Comprueba que la app corre en localhost:3000 (o el puerto que sea), que Nginx está activo y que el firewall permite el puerto 80 y 443.

Error “Cannot find module”

Te falta instalar las dependencias. Entra en la carpeta de la app y ejecuta npm install.

El puerto 3000 está ocupado

Cambia el puerto en tu app o usa otro. Recuerda actualizar también la configuración de Nginx.

La app va lenta con muchas peticiones

Considera usar más de un proceso (cluster mode) con PM2:

pm2 start app.js -i max

Preguntas frecuentes

¿Node.js necesita Apache o Nginx?

No para funcionar (la propia app es el servidor), pero sí es muy recomendable poner Nginx delante como proxy inverso para servir HTTPS y equilibrar la carga.

¿Puedo tener varias apps Node.js en el mismo VPS?

Sí. Cada app corre en un puerto distinto y configuras un sitio Nginx por cada dominio.

¿Qué versión de Node.js debo usar?

La versión LTS (Long Term Support), que es la más estable para producción.

¿PM2 es gratuito?

Sí, PM2 es gratuito y de código abierto. Tiene una versión de pago (PM2 Plus) para monitorización avanzada.

¿Necesito saber programar para publicar una app Node.js?

Necesitas saber manejar tu app y configurar el servidor. No necesitas ser programador, pero sí tener conocimientos básicos de Linux.

Publica tu app Node.js con confianza

Node.js es una opción fantástica para aplicaciones modernas, y un VPS es el lugar ideal para publicarlas. Con NVM para gestionar versiones, PM2 para mantener la app corriendo y Nginx como proxy inverso, tienes una configuración profesional y estable.

Si prefieres no ocuparte de la instalación y configuración, en miHosting ofrecemos VPS administrados donde instalamos Node.js, configuramos PM2 y Nginx, y mantenemos el servidor por ti. Abre un ticket desde tu panel de cliente y te ayudamos.