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.
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.
En el panel de control de su servidor, haga clic en Panel de administración para conectarse a la consola de ISPConfig.
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.
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.
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).
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).
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.
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.
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.
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/.
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.
Existen varias opciones para integrar los paquetes de Node.js según sus necesidades de administración y el mantenimiento de su gestión.
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.
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.
Sí, siempre que haya ejecutado el comando pm2 startup y luego pm2 save. PM2 reactivará automáticamente sus scripts al arrancar el sistema.
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.
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.
Hágala al equipo de LWS y a la comunidad. La respuesta se publica tras la moderación.