Utilizar Node.js con ISPConfig en un VPS

Procédure

Para ejecutar una aplicación Node.js en su VPS con ISPConfig, debe configurar Apache como proxy inverso hacia el puerto local de su script. Node.js es un entorno de ejecución JavaScript del lado del servidor que permite crear aplicaciones web rápidas y escalables. Al combinar un gestor de procesos como PM2 y las directivas de ISPConfig, garantiza la persistencia de su servicio y la seguridad mediante certificado SSL.

Los pasos

  1. Acceder a la gestión de su VPS

    Inicie sesión en su área de cliente, vaya a la sección Servidores y luego haga clic en Gestionar frente a su máquina VPS con ISPConfig.

    Utilizar Node.js con ISPConfig en un VPS
  2. Abrir la interfaz de ISPConfig

    En el panel de control de su servidor, haga clic en Panel de administración para conectarse a la consola de ISPConfig.

    Utilizar Node.js con ISPConfig en un VPS
  3. Gestionar la administración y el acceso root si es necesario

    Si elige instalar Node.js globalmente para todo el sistema en lugar de para la cuenta local del sitio, haga clic en Gestión, marque la opción Servidor NO gestionado por LWS y confirme con Validar. LWS dejará entonces de gestionar el servidor, lo que desbloquea las credenciales en Acceso ROOT SSH.

    Utilizar Node.js con ISPConfig en un VPS
  4. Crear el sitio web y activar el certificado SSL

    En ISPConfig, abra la pestaña Sitios, añada su dominio (por ejemplo «ejemplo.fr»), y luego marque las casillas SSL y Let's Encrypt SSL antes de guardar.

  5. Conectarse por SSH al servidor

    Abra su terminal y establezca la conexión SSH con su cuenta (usuario del sitio ISPConfig o usuario root si se ha retirado la gestión).

    Utilizar Node.js con ISPConfig en un VPS
  6. Activar los módulos proxy de Apache

    Para redirigir el tráfico HTTP hacia su aplicación, active los módulos requeridos con el comando a2enmod proxy proxy_http y luego reinicie Apache mediante systemctl restart apache2 (acción que requiere permisos de administración o que ya está activa según su plan).

  7. Instalar Node.js LTS

    Instale Node.js en versión LTS en su sesión utilizando nvm o los repositorios de su distribución, y luego verifique la versión instalada introduciendo el comando node -v.

  8. Crear la aplicación Express mínima

    Ubíquese en el directorio de su sitio web, inicialice un proyecto con npm init -y, instale el framework Express con npm install express y cree un archivo server.js configurado para escuchar en el puerto local 3000.

  9. Iniciar y hacer persistente la aplicación con PM2

    PM2 es un gestor de procesos para Node.js que permite mantener las aplicaciones activas de forma continua y reiniciarlas tras un incidente. Instálelo con npm install -g pm2, inicie su script mediante pm2 start server.js --name mon-app y guarde el estado con pm2 save.

  10. Configurar el proxy inverso Apache en ISPConfig

    Un proxy inverso es un servidor intermediario que recibe las solicitudes web de los visitantes para transferirlas al servidor de aplicaciones interno. En ISPConfig, edite su sitio, vaya a la pestaña Opciones y luego añada en el campo Directivas Apache: ProxyPreserveHost On seguido de ProxyPass / http://localhost:3000/ y ProxyPassReverse / http://localhost:3000/.

  11. Probar el funcionamiento en HTTPS

    Abra su navegador e introduzca la dirección de su sitio (por ejemplo https://exemple.fr) para comprobar la visualización de su script Node.js seguro.

Métodos de instalación de Node.js en su VPS

Existen varias opciones para integrar los paquetes de Node.js según sus necesidades de administración y el mantenimiento de su gestión.

  • Instalación mediante NVM (Node Version Manager) — Permite instalar y gestionar varias versiones de Node.js directamente en el directorio del usuario, sin privilegios root y sin modificar la gestión del VPS.
  • Instalación mediante el gestor de paquetes APT de Debian — Instala una versión estable global para todo el sistema operativo, requiriendo permisos root y la desactivación de la gestión.

Preguntas frecuentes

¿Por qué mi sitio muestra un error 502 o 503?

Un error 502 Bad Gateway o 503 Service Unavailable indica que Apache no logra conectar con Node.js en el puerto configurado. Verifique que su aplicación esté correctamente iniciada con PM2 mediante el comando pm2 status y que escuche correctamente en el puerto 3000 de forma local.

¿La gestión de LWS es obligatoria para que Node.js funcione?

No. El VPS ISPConfig está gestionado por defecto, lo que garantiza el soporte de su servidor. Puede hacer funcionar Node.js sin root gracias a nvm bajo la cuenta shell de su sitio. Si retira la gestión para obtener acceso root, usted mismo asumirá la administración total del servidor.

¿Mi aplicación Node.js se reinicia si se reinicia el VPS?

Sí, siempre que haya ejecutado el comando pm2 startup y luego pm2 save. PM2 reactivará automáticamente sus scripts al arrancar el sistema.

¿Puedo ejecutar varias aplicaciones Node.js en el mismo servidor?

Sí. Solo tiene que asignar un puerto local diferente a cada aplicación (por ejemplo 3000, 3001) y configurar las directivas Apache ProxyPass correspondientes para cada dominio en ISPConfig.

¿Hay que abrir el puerto de mi aplicación en el cortafuegos?

No. La aplicación Node.js escucha únicamente en la dirección local (203.0.113.10 o localhost). Es el servidor Apache el que recibe las conexiones web seguras en los puertos estándar 80 y 443 para redirigirlas internamente.

Enlaces útiles

help.lws.net/a/7952
¿Le ha resultado útil este artículo?

Sí

No

Leído 3 veces

¡Gracias! No dude en hacer preguntas sobre nuestra documentación si desea más información y ayudarnos a mejorarla.

Artículos similares

¿Tiene una pregunta sobre este artículo?

Hágala al equipo de LWS y a la comunidad. La respuesta se publica tras la moderación.

Formule una pregunta al equipo de LWS y a su comunidad

RGPD: Responsable: LWS-Ligne Web Services. Finalidad: moderación y publicación pública de su pregunta, posible aviso de una respuesta. Base jurídica: consentimiento (art. 6.1.a RGPD). Conservación de los correos: 90 días tras el aviso, 12 meses como máximo sin respuesta. Para ejercer sus derechos, consulte la sección RGPD de nuestras condiciones generales.