web-dev-qa-db-ja.com

16.04にスタートアップサービスを追加する

16.4で「node js」プロジェクトを永続的に実行する必要があります

そして forever package を使用して、ubuntuのバックグラウンドで実行します

今、ubuntuにスタートアップサービスを追加したいのですが、検索結果がありません。

test.confから/etc/init.dというファイルを作成しました

test.conf:

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

systemd serviceを使用する最も簡単な方法:

  1. インストールforever

    [Sudo] npm install forever -g
    
  2. 好みの場所で実行するスクリプトを作成して保存します。

  3. 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. systemd service/etc/systemd/systemファイルをmyforever.serviceとして(または好きな名前で)保存します。

  5. サービスを開始し、起動時に有効にします。

    Sudo systemctl start myforever.service
    Sudo systemctl enable myforever.service
    
  6. 実行中かどうかを確認します。

    Sudo systemctl status myforever.service
    
  7. いつでも停止して無効にするには:

    Sudo systemctl stop myforever.service
    Sudo systemctl disable myforever.service
    

注:

  1. これはsystemd serviceの簡略版であり、多くのオプションが利用可能です
  2. サービスは、.service拡張子なしでmyforeverと呼ぶこともできます。systemdは適切なファイルを選択します
  3. この/home/george/.npm-global/bin/foreverは私のnodeモジュールが保持される場所であり、あなたのモジュールは異なります。 which foreverで見つける

追加情報:

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

12
George Udosen

私のubuntuは16.04なので、「forever service-systemd」を使用します

最初の使用:パッケージ->永久に、このページを確認してください:

upstartの場合: https://github.com/zapty/forever-service

systemdの場合: https://www.npmjs.com/package/service-systemd

0