Base de conocimientos
1000 FAQ, 500 tutoriales y vídeos explicativos. ¡Aquí sólo hay soluciones!
Hacer que funcione constantemente una aplicación node.js en servidor Cloud
Esta información la compartimos a título indicativo, y nuestro soporte no podrá asistirle en caso de problema para seguir estas instrucciones. Más información
1. Instalar la aplicación node.js
- Instalar la aplicación node.js deseada (ej.: Ghost, Laverna, etc.) siguiendo las instrucciones de su editor.
2. Instalar forever(*)
- conectarse con SSH al alojamiento correspondiente (ayuda)
- ejecutar el comando siguiente:
npm install forever -g
3. Crear un script para ejecutar la aplicación node.js en caso de interrupción
- crear el script "start.sh" en la raíz del alojamiento con el contenido siguiente (no olvidarse de adaptar la ruta de la aplicación node.js) :
#! /bin/bash
source ~/.profile
if ! forever list | grep -q '/web/app.js' ; then
forever start ~/web/app.js -m 1
fi - hacer que el script sea ejecutable (CHMOD 755):
chmod 755 start.sh
4. Crear un CRON para ejecutar el script cada minuto
- efectuar el comando SSH siguiente:
crontab -e - añadir la directiva siguiente mediante el editor de texto vi que se abre automáticamente (no olvidarse de adaptar la ruta del script; el comando SSH pwd permite mostrar la ruta de la carpeta en curso):
* * * * * /home/clients/XXXX/start.sh 1>/dev/null
Así pues, puede plantearse utilizar pm2 ya que funciona perfectamente. Es fácil gestionar un cluster con él y reiniciar las aplicaciones cuando fallan, etc. Es muy práctico para seguir los logs, hacer un archivo yml para lanzar todos los servidores node con sus configuraciones respectivas... Además , pm2 puede estar conectado al panel de control de monitorización de keymetrics que permite (abriendo los puertos adecuados) reiniciar los servidores node desde el panel de control y recibir notificaciones en caso de problemas, etc.