aggiungere il servizio di avvio il 16.04


10

ho bisogno di eseguire il progetto "nodo js" su 16.4 in modo permanente

e usa il pacchetto forever per eseguire in background in Ubuntu

ora voglio aggiungere un servizio di avvio a Ubuntu ma ho cercato non ci sono risultati.

Ho creato un file chiamato test.confa/etc/init.d

test.conf:

start on startup
exec forever start /root/node/node_modules/.bin/www

Dovrai usare a systemd serviceper questo.
George Udosen,

Sarai utilizzandomysql
George Udosen

@George Ci sono corsi di formazione su questo argomento?
Hesam Pourghazian,

A quale argomento ti riferisci, hai impostato forevere hai solo bisogno di un modo per eseguirlo nel servizio Ubuntu?
George Udosen,

@George sì ...
Hesam Pourghazian,

Risposte:


13

Nel modo più semplice per l'utilizzo systemd service:

  1. Installa forever:

    [sudo] npm install forever -g
    
  2. Scrivi e archivia lo script per eseguirlo nella posizione preferita.

  3. Scrivi il 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. Salva il systemd servicefile in /etc/systemd/systemcome myforever.service(o con qualsiasi nome ti piaccia).

  5. Avviare il servizio e abilitare all'avvio.

    sudo systemctl start myforever.service
    sudo systemctl enable myforever.service
    
  6. Controlla se è in esecuzione:

    sudo systemctl status myforever.service
    
  7. Per arrestarlo e disabilitarlo in qualsiasi momento:

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

NOTA:

  1. Questa è una versione semplificata di systemd servicemolte opzioni disponibili
  2. Il servizio può anche essere chiamato myforeversenza l' .serviceestensione, systemdsceglierà il file giusto
  3. Qui sono conservati i /home/george/.npm-global/bin/forevermiei nodemoduli, i tuoi saranno diversi. Trovalo conwhich forever

Informazioni aggiuntive:

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


finalmente uso il pacchetto "service-systemd"
Hesam Pourghazian,

@ david6 sì, grazie aggiornerò
George Udosen il

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.