スタートアップサービスを作成してコンピュータの起動時にNode.jsアプリケーションを起動する方法

スタートアップサービスを作成してコンピュータの起動時にNode.jsアプリケーションを起動する方法

私のコンピュータはUbuntu 16.04です。コンピュータが起動するたびにnode.jsアプリケーションを起動したいと思います。これによると郵便はがきサービスの自動起動について。私は次のことを行い、それを提供しようとします。

forever1)ノードモジュールを使用してノードアプリケーションを起動するスクリプトを作成しました。

#!/bin/bash

echo "Starting App"

forever -a start /opt/app/app.js

echo "App started"

2) このスクリプトに名前を付け、startApp.shこのスクリプトを中に入れます。/etc/init.d/フォルダ。

3) コマンドを実行しましたupdate-rc.d startApp defaults

しかし、エラーが発生しました。update-rc.d:エラー:initscriptが存在しません:/etc/init.d/startApp

私は何が間違っていましたか?

答え1

これを達成する方法はいくつかあります。 微粒子 PM2を使用すると、予期しないまたは予期しないコンピュータの再起動を開始する起動スクリプトを生成できます。

http://pm2.keymetrics.io/docs/usage/startup/

ルーストアバウト私はDockerfileを生成し、--restart = alwaysタグを使用して実行することを好みます。

シェルスクリプトを引き続き実行する場合 その後、Unixのcrontabを使用すると使いやすく、数分で設定できます。

  1. crontab の編集 次のコマンドを実行して、「USER」をノード・プロセスに必要なランタイム・ユーザーに置き換えます。自分以外のユーザーを選択した場合は、sudoを使用してこのコマンドを実行する必要があります。

    $crontab -u ユーザー -e

  2. エディタで次の行を追加します。

    @reboot /usr/local/bin/forever start /your/path/to/your/index.js else

    @reboot sh /your/path/to/your/startApp.sh

  3. 保存し、#1のcheckコマンドでファイルが再保存されたことを確認してください。

    注:私の考えでは、問題を避けるためにcrontabファイルのフルパスを使用する必要があります。

参照のためにこのURLを参照できます。 Ubuntuクローン操作ガイド

関連情報