dodaj usługę uruchamiania 16.04

10

Muszę uruchomić projekt "węzła js" na 16.4 na stałe

i użyj pakietu na zawsze do uruchomienia w tle w Ubuntu

teraz chcę dodać usługę uruchamiania do Ubuntu, ale szukałem nie ma rezultatu.

Utworzyłem plik o nazwie test.confto/etc/init.d

test.conf:

start on startup
exec forever start /root/node/node_modules/.bin/www
Hesam Pourghazian
źródło
Trzeba będzie użyć systemd servicedo tego celu.
George Udosen
Będziesz używaćmysql
George Udosen
@George Są szkolenia w tym temacie?
Hesam Pourghazian
Do jakiego tematu nawiązujesz, czy został skonfigurowany foreveri potrzebujesz sposobu, aby uruchomić go w serwisie Ubuntu?
George Udosen,
@George tak ...
Hesam Pourghazian

Odpowiedzi:

13

W najprostszym do użycia systemd service:

  1. Zainstaluj forever:

    [sudo] npm install forever -g
    
  2. Napisz i zapisz skrypt do uruchomienia w preferowanej lokalizacji.

  3. Napisz 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. Zapisz systemd serviceplik /etc/systemd/systemjako myforever.service(lub pod dowolną nazwą).

  5. Uruchom usługę i włącz przy uruchomieniu.

    sudo systemctl start myforever.service
    sudo systemctl enable myforever.service
    
  6. Sprawdź, czy działa:

    sudo systemctl status myforever.service
    
  7. Aby zatrzymać i wyłączyć w dowolnym momencie:

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

UWAGA:

  1. Jest to uproszczona wersja systemd servicewielu dostępnych opcji
  2. Usługa może być również wywoływana myforeverbez .servicerozszerzenia, systemdwybierze odpowiedni plik
  3. Tutaj przechowywane są /home/george/.npm-global/bin/forevermoje nodemoduły, twój będzie inny. Znajdź za pomocąwhich forever

Dodatkowe informacje:

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

George Udosen
źródło
na koniec korzystam z pakietu „service-systemd”
Hesam Pourghazian
@ david6 tak, dzięki, aktualizacja
George Udosen