¿Cómo correr una app nodejs al inicio ubuntu?

Standard

Hola de nuevo, después de mucho tiempo les traigo un nuevo post sobre un tema con el que me he topado hace poco y eso es el cómo ejecutar scripts o apps node al inicio del sistema.

Afortunadamente después de un tiempo de hacerlo de manera manual, por fin me he topado con una solución simple.

PM2

PM2

 

Este es un “pequeño” módulo de node que nos evitará tanto rodeo, al menos en ubuntu (no lo he probado en otros sistemas).

Para utilizarlo es tan simple como:

Instalarlo:

$ npm install pm2 -g

Recordemos que puede ser necesario correr el comando con sudo, ya que es una instalación global.

Ahora creamos el script de inicio, o mejor dicho le decimos a pm2 que lo haga por nosotros.

$ pm2 startup ubuntu

Y lo siguiente es simplemente correr todas nuestras apps o scripts que queremos se inicien junto con el sistema por ejemplo:

$ pm2 start mi_app.js

Hacemos esto para TODAS las applicaciones.

Una vez estén todas corriendo vamos a guardar.

$ pm2 save

Con esto es suficiente, lo sé, suena extraño pero no necesitamos más jajaja.

Ahora podemos ver la lista de procesos administrador por pm2 utilizando la opción list:

$ pm2 list

Ahora también podemos reiniciar todos nuestros scripts con pm2 y el archivo de inicio que nos generó:

$ sudo service pm2-something.sh start|stop|restart

Ahora sólo basta reiniciar y listo, tendremos nuestras apps funcionando.

Nada más tengo un detalle que comentar, y es que cuando se hizo una modificación a un script que tenemos con pm2, este script tenía un error y por alguna razón pm2 nos ejecutaba la versión que sí estaba correcta.

Para solucionar esto prueben todas sus apps y scripts con node directamente. Y si todo funciona como lo desean, pasenlo a pm2.

Saludos, eso es todo por ahora y nos vemos pronto.

Les dejo el enlace al sitio oficial en inglés:

https://github.com/Unitech/pm2

 

Leave a Reply

Your email address will not be published. Required fields are marked *