Startdienst am 16.04 hinzufügen

10

Ich muss "Node Js" -Projekt auf 16.4 Permanent ausführen

und verwenden Sie das Paket forever für die Ausführung im Hintergrund in Ubuntu

Jetzt möchte ich Ubuntu einen Startdienst hinzufügen, aber ich habe gesucht, dass es kein Ergebnis gibt.

Ich habe eine Datei mit dem Namen erstellt , test.confum/etc/init.d

test.conf:

start on startup
exec forever start /root/node/node_modules/.bin/www
Hesam Pourghazian
quelle
Sie müssen dafür ein verwenden systemd service.
George Udosen
Wirst du verwendenmysql
George Udosen
@George Gibt es Schulungen zu diesem Thema?
Hesam Pourghazian
Auf welches Thema beziehen Sie sich, haben Sie eingerichtet foreverund benötigen nur eine Möglichkeit, es im Ubuntu-Dienst auszuführen?
George Udosen
@ George ja ...
Hesam Pourghazian

Antworten:

13

Am einfachsten zu verwenden systemd service:

  1. Installieren forever:

    [sudo] npm install forever -g
    
  2. Schreiben und speichern Sie das Skript, um es am bevorzugten Speicherort auszuführen.

  3. Schreiben Sie die 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. Speichern Sie die systemd serviceDatei /etc/systemd/systemunter myforever.service(oder unter einem beliebigen Namen).

  5. Starten Sie den Dienst und aktivieren Sie ihn beim Start.

    sudo systemctl start myforever.service
    sudo systemctl enable myforever.service
    
  6. Überprüfen Sie, ob es läuft:

    sudo systemctl status myforever.service
    
  7. So stoppen und deaktivieren Sie es jederzeit:

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

HINWEIS:

  1. Dies ist eine vereinfachte Version systemd servicevieler Optionen
  2. Der Dienst kann auch myforeverohne die .serviceErweiterung aufgerufen werden , systemdwählt die richtige Datei aus
  3. Hier werden /home/george/.npm-global/bin/forevermeine nodeModule aufbewahrt, Ihre werden anders sein. Finde es mitwhich forever

Zusätzliche Information:

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

George Udosen
quelle
Endlich benutze ich das Paket "service-systemd"
Hesam Pourghazian
@ David6 Ja, das ist es, danke wird aktualisiert
George Udosen