19 ene., 2026

NodeJS

Escrito por Equipo Clouds

Guía Completa: Despliegue de Node.js con PM2, Dploy y Mejores Prácticas de Seguridad en CloudPanel v2

Esta guía reúne la información de los siguientes enlaces oficiales de CloudPanel v2:

  • Despliegue de Node.js con PM2
  • Introducción a Dploy
  • Instalación y configuración de Dploy
  • Mejores prácticas de seguridad

1. Despliegue de Aplicaciones Node.js con PM2 en CloudPanel v2

CloudPanel permite desplegar fácilmente aplicaciones Node.js utilizando PM2 (Process Manager 2), un gestor de procesos que mantiene tu aplicación viva, la reinicia automáticamente y ofrece monitoreo.

Pasos principales

Instalar Node.js

En CloudPanel, selecciona la versión de Node.js que necesites (v14, v16, v18, v20, etc.) en la pestaña Node.js del sitio.

Instalar PM2

Conéctate por SSH como usuario del sitio y ejecuta:

npm install -g pm2

Iniciar tu aplicación con PM2

Ejemplo para una app Express en app.js:

pm2 start app.js --name "mi-app-node"

Guardar la configuración y hacer que PM2 se inicie al reiniciar el servidor:

pm2 save
pm2 startup

Comandos útiles de PM2:

  • Ver lista de procesos: pm2 list
  • Reiniciar: pm2 restart mi-app-node
  • Ver logs: pm2 logs mi-app-node
  • Monitoreo: pm2 monit
  • Eliminar proceso: pm2 delete mi-app-node

Configuración recomendada para producción

  • Usa un archivo ecosystem.config.js para definir múltiples procesos o entornos.
  • Configura variables de entorno con .env y dotenv.
  • Asegúrate de que el puerto de la app sea el 8080 (o el que CloudPanel use por defecto para reverse proxy).

2. Introducción a Dploy

Dploy es una solución de despliegue de código potente y sencilla que automatiza la liberación de nuevas versiones de aplicaciones en CloudPanel.

Beneficios principales

  • Despliegue con cero tiempo de inactividad (zero-downtime).
  • Soporte para PHP, Node.js, Python y sitios estáticos.
  • Despliegue continuo (continuous deployment).
  • Configuración rápida (menos de 60 segundos).
  • Open source bajo licencia MIT.

Dploy crea una estructura de releases con symlink current → la versión activa, carpetas releases/ y shared/ para archivos persistentes.


3. Instalación y Configuración de Dploy

Requisitos previos

  • Acceso root al servidor.
  • Usuario del sitio con permisos adecuados.
  • Repositorio Git (URL SSH).
  • Para PHP: recargar PHP-FPM.

Pasos de instalación

1. Descargar e instalar Dploy CLI:

curl -sS https://dploy.cloudpanel.io/dploy -o /usr/local/bin/dploy; \
echo "8809e9eb63483487f16b0a2e4075a8b18350a02470405e2f786bf82fd7e5fb53 /usr/local/bin/dploy" | \
sha256sum -c && chmod +x /usr/local/bin/dploy

2. Inicializar Dploy:

dploy init
  • Ingresa la URL SSH del repositorio Git.
  • Especifica el directorio de despliegue (ej. ~/htdocs/www.dominio.com).

Estructura creada:

  • ~/.dploy/config.yml
  • ~/.dploy/overlays/ (para archivos específicos como .env)
  • current (symlink a la release activa)
  • releases/
  • shared/

3. Configurar sudoers (solo para PHP):

echo 'nombre-usuario ALL = NOPASSWD: /usr/bin/systemctl reload php*-fpm' >> /etc/sudoers.d/dploy

4. Clave SSH para repositorios privados:

ssh-keygen -f ~/.ssh/dploy-git

Añade la clave pública al proveedor Git y configura ~/.ssh/config.

5. Establecer el Root Directory del sitio en CloudPanel a current.

6. Desplegar:

dploy deploy main        # rama
dploy deploy v1.0.0      # tag

Ejemplo de config.yml (para Node.js)

shared_dirs:
  - node_modules
  - logs
before_commands:
  - npm ci
after_commands:
  - pm2 reload ecosystem.config.js

4. Mejores Prácticas de Seguridad en CloudPanel v2

Firewall y acceso

  • Usa el firewall integrado (UFW) y abre solo los puertos 22 (SSH) y 8443 (CloudPanel) para tus IPs.
  • Si no tienes IP fija, usa VPN (ej. OpenVPN).
  • Añade Basic Auth delante del panel de CloudPanel.
  • Habilita Two-Factor Authentication (2FA) para todos los usuarios.

Actualizaciones

  • Mantén CloudPanel, el sistema operativo y todo el software siempre actualizado.
  • Actualiza regularmente los paquetes de seguridad.

Backups

  • Implementa una estrategia sólida de copias de seguridad.
  • Usa backups automáticos de CloudPanel y backups remotos (S3, Wasabi, Dropbox, SFTP, etc.).
  • Prueba restauraciones regularmente.
  • Mantén un entorno de staging actualizado.

Seguridad del servidor

  • Usa contraseñas fuertes.
  • Elimina software innecesario.
  • Cifra la comunicación (HTTPS) y los datos.

Seguridad de sitios web

  • Protege contra ataques comunes (DDoS, SQL Injection, XSS) con un Web Application Firewall.
  • Recomendaciones: Cloudflare (integrado con CloudPanel), Sucuri o AWS WAF.

Permisos de archivos

  • Usa permisos estrictos: 755 para carpetas, 644 para archivos.
  • Nunca dejes permisos 777.

¡Con estas herramientas y prácticas tendrás aplicaciones Node.js y PHP desplegadas de forma profesional, automatizada y segura en CloudPanel!

¿Fue útil esta guía?