私のコンピュータはUbuntu 16.04です。コンピュータが起動するたびにnode.jsアプリケーションを起動したいと思います。これによると郵便はがきサービスの自動起動について。私は次のことを行い、それを提供しようとします。
forever
1)ノードモジュールを使用してノードアプリケーションを起動するスクリプトを作成しました。
#!/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を使用すると使いやすく、数分で設定できます。
crontab の編集 次のコマンドを実行して、「USER」をノード・プロセスに必要なランタイム・ユーザーに置き換えます。自分以外のユーザーを選択した場合は、sudoを使用してこのコマンドを実行する必要があります。
$crontab -u ユーザー -e
エディタで次の行を追加します。
@reboot /usr/local/bin/forever start /your/path/to/your/index.js else
@reboot sh /your/path/to/your/startApp.sh
保存し、#1のcheckコマンドでファイルが再保存されたことを確認してください。
注:私の考えでは、問題を避けるためにcrontabファイルのフルパスを使用する必要があります。
参照のためにこのURLを参照できます。 Ubuntuクローン操作ガイド