Proyecto domótica PARTE 9 - Correr aplicación NodeJS como un servicio

Para mejorar el soporte de la aplicación y servicio web, una excelente idea es que nuestro proyecto se ejecute como un NaaaS (Node aplication as a Service), esto se hace mediante un archivo donde declararemos nuestro proyecto como servicio que correrá dentro de Ubuntu.

9 Archivo de configuración del servicio

Similar a como se hizo en la parte 7 de este tutorial con MongoDB, se debe crear un archivo .service dentro del directorio /lib/systemd/system

cd /lib/systemd/system
sudo nano mysmarthome.service


Insertar lo siguiente, presionar ctrl+o y ctrl+x, para guardar y cerrar.

[Unit]
Description=SmartHome Alexa an Google NodeJS App
After=network-online.target

[Service]
Restart=on-failure
# do chdir before running the service
WorkingDirectory=/opt/smart-home-alexa-and-google/
ExecStart=/usr/bin/node app.js # limit CPU and RAM quota for our service #CPUAccounting=true #CPUQuota=10% #MemoryAccounting=true #MemoryLimit=50M [Install] WantedBy=multi-user.target


Luego de crear nuestro archivo de servicio procedemos a ejecutar las instrucciones del sistema para que comience a correr:

systemctl daemon-reload
systemctl enable mysmarthome
systemctl restart mysmarthome


Si nuestro NaaaS ha levantado correctamente, podremos consultar el estado del servicio desde un comando de service o systemctl:



De igual forma podremos corroborar en nuestro navegador que el sitio web ya se encuentra disponible.

Como mejoras a futuro se puede especificar un archivo de log, donde nuestro servicio vaya escribiendo los registros de consola, de esta forma ayudar a depurar en caso de encontrarnos ante cualquier problema.


Créditos a la guía de Tibbo que me ha servido para levantar rápidamente mi servicio.


-> Siguiente parte ->



Indice

Parte 15) Resultados


Comentarios