NodeJS: Desplegando nuestra aplicación como un servicio

Blog Single

Volvemos con  una pregunta interesante ¿Como desplegamos nuestra aplicación nodejs como un servicio en nuestra máquina de producción? El proyecto en el que estoy trabajando es un requisito que el servidor de nodejs arranque con el sistema empezando a leer los sensores proporcionando la información a la aplicación cliente que se conecte al websocket que abre el servidor. El objetivo es que no deban de arrancar el servicio y que este se levante automáticamente solo en caso de caerse por algún tipo de error.

 

En Linux existen distintas vertientes y estrategias de arranques de los servicios, pero hoy voy a hablar de Upstart, que es una estrategia basada en eventos para el demonio init, el cual es el encargado de arrancar todos los servicios necesarios para el funcionamiento del sistema operativo. Upstart se encarga de lanzar todas las tareas necesarias para el arranque del sistema por lo que podemos engancharnos a él pudiendo crear nuestras propias tareas, de tal manera arrancar nuestro servicio al arranque del sistema.

 Configurando nuestro servicio nodejs

Para hacer que nuestro server se comporte como un servicio del sistema y podamos arrancarlo, pararlo, reiniciarlo, ver su estado, acceder a su log debemos de definir este servicio con Upstart implementando un script que incluiremos en /etc/init. El fichero debe de tener una extensión .conf , por ejemplo miapp.conf. A continuación os dejo un script de prueba como ejemplo de configuración de este un servicio nodejs.

 

 

Puedes ejecutar el servicio en cualquier momento con: sudo service start miservice. Automaticamente arrancara el servicio y podrás ver la salida del log en el directorio configurado y nuestro servidor nodejs corriendo.

 

Nube de Tags

desplegarnodejsupstart
Comparte el artículo si te ha resultado interesante: