tambahkan layanan startup pada 16.04

10

saya perlu menjalankan proyek "node js" pada 16.4 Secara permanen

dan gunakan paket selamanya untuk berjalan di latar belakang di ubuntu

sekarang saya ingin menambahkan layanan startup ke ubuntu tetapi saya mencari tidak ada hasil.

Saya telah membuat file yang dipanggil test.confuntuk/etc/init.d

test.conf:

start on startup
exec forever start /root/node/node_modules/.bin/www
Hesam Pourghazian
sumber
Anda harus menggunakan systemd serviceuntuk ini.
George Udosen
Apakah Anda akan menggunakanmysql
George Udosen
@ George Ada pelatihan dalam topik ini?
Hesam Pourghazian
Topik apa yang Anda maksudkan, sudahkah Anda atur foreverdan hanya perlu cara untuk menjalankannya di layanan Ubuntu?
George Udosen
@ George ya ...
Hesam Pourghazian

Jawaban:

13

Paling sederhana untuk menggunakan systemd service:

  1. Pasang forever:

    [sudo] npm install forever -g
    
  2. Tulis dan simpan skrip untuk dijalankan di lokasi yang disukai.

  3. Tuliskan 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. Simpan systemd servicefile /etc/systemd/systemsebagai myforever.service(atau dengan nama apa pun yang Anda suka).

  5. Mulai layanan dan aktifkan saat start up.

    sudo systemctl start myforever.service
    sudo systemctl enable myforever.service
    
  6. Periksa apakah itu berjalan:

    sudo systemctl status myforever.service
    
  7. Untuk menghentikan dan menonaktifkannya kapan saja:

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

CATATAN:

  1. Ini adalah versi sederhana dari systemd servicebanyak opsi yang tersedia
  2. Layanan juga dapat dipanggil myforevertanpa .serviceekstensi, systemdakan memilih file yang tepat
  3. Ini /home/george/.npm-global/bin/foreveradalah di mana saya nodemodul disimpan, Anda akan berbeda. Temukan denganwhich forever

Informasi tambahan:

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

George Udosen
sumber
akhirnya saya menggunakan paket "service-systemd"
Hesam Pourghazian
@ david6 ya itu, terima kasih akan memperbarui
George Udosen