agregar servicio de inicio en 16.04

10

Necesito ejecutar el proyecto "nodo js" en 16.4 de forma permanente

y use el paquete forever para ejecutar en segundo plano en ubuntu

ahora quiero agregar un servicio de inicio a ubuntu pero busqué no hay resultado.

He creado un archivo llamado test.confa/etc/init.d

test.conf:

start on startup
exec forever start /root/node/node_modules/.bin/www
Hesam Pourghazian
fuente
Necesitará usar un systemd servicepara esto.
George Udosen
¿Va a utilizarmysql
George Udosen
@ George Hay entrenamiento en este tema?
Hesam Pourghazian
¿A qué tema te refieres, has configurado forevery solo necesitas una forma de ejecutarlo en el servicio de Ubuntu?
George Udosen
@George sí ...
Hesam Pourghazian

Respuestas:

13

En el más simple para usar systemd service:

  1. Instalar forever:

    [sudo] npm install forever -g
    
  2. Escriba y almacene el script para ejecutarlo en la ubicación preferida.

  3. Escribe el Systemd service:

    [Unit]
    Description=forever service
    After=network.target
    
    
    [Service]
    ExecStart=/home/george/.npm-global/bin/forever start /root/node/node_modules/.bin/www
    ExecStop=/home/george/.npm-global/bin/forever stop /root/node/node_modules/.bin/www
    Restart=always
    RestartSec=10                       # Restart service after 10 seconds if node service crashes
    StandardOutput=syslog               # Output to syslog
    StandardError=syslog                # Output to syslog
    SyslogIdentifier=nodejs-example
    
    
    [Install]
    WantedBy=multi-user.target
    
  4. Guarde el systemd servicearchivo /etc/systemd/systemcomo myforever.service(o con el nombre que desee).

  5. Inicie el servicio y habilítelo al inicio.

    sudo systemctl start myforever.service
    sudo systemctl enable myforever.service
    
  6. Comprueba si se está ejecutando:

    sudo systemctl status myforever.service
    
  7. Para detenerlo y deshabilitarlo en cualquier momento:

    sudo systemctl stop myforever.service
    sudo systemctl disable myforever.service
    

NOTA:

  1. Esta es una versión simplificada de systemd servicemuchas opciones disponibles.
  2. El servicio también se puede llamar myforeversin la .serviceextensión, systemdelegirá el archivo correcto
  3. Aquí /home/george/.npm-global/bin/foreveres donde nodese guardan mis módulos, los suyos serán diferentes. Encuéntralo conwhich forever

Información Adicional:

https://www.axllent.org/docs/view/nodejs-service-with-systemd/

George Udosen
fuente
finalmente uso el paquete "service-systemd"
Hesam Pourghazian
@ david6 sí lo es, gracias actualizará
George Udosen