起動時にアプリケーションを実行、停止および監視する方法は数多くあります。 このガイドはこれを実行できるいくつかの方法を取り上げています。
私たちが提供しているRaspberry Piインストールスクリプトは 他のDebianのようなオペレーションシステムで利用することができます。
このスクリプトはsystemdサービスとしてNode-REDをインストールします。 さらなる情報は、 Raspberry Piで実行するというガイドを読んでください。
Raspbianを使用していない場合、 ローカルユーザのIDと環境に適したようにサービスファイルを編集する必要があるかもしれません。 編集方法の詳細はこちらで入手することができます。
RPMベースのLinuxのためのインストールスクリプトをこちらで入手できるように提供しており、こちらもsystemdを設定します。
以下のガイドは大多数のユーザにとって最もわかりやすいと考えているものを提示しています。 Windowsでは、PM2はサービスとして自動起動しません - 以下のNSSMを利用するという手段をお勧めします。
PM2はNode.jsのプロセスマネージャです。 これは起動時にアプリケーションを実行することを簡単にし、必要であれば再起動することを保証します。
sudo npm install -g pm2
sudo
が必要です。
Windows上で実行している場合、
sudo
コマンドなしで管理者としてコマンドシェルで実行する必要があります。
tail.exe
がパス上に存在することを確認する必要があります。
node-red
コマンドの正しい位置を定義する。Node-REDのグローバルインストールをおこなった場合、
Linux/OS Xにおいてnode-red
コマンドはおそらく以下のようになります: /usr/bin/node-red
または/usr/local/bin/node-red
。
コマンドwhich node-red
は位置を確認するために利用できます。
ローカルインストールした場合、
npm install
を実行した場所から相対的にnode_modules/node-red/bin/node-red
の位置になります。
以下のコマンドはPM2にNode-REDを実行することを指示しており、
/usr/bin/node-red
はnoode-red
コマンドの位置と考えてください。
引数--
は必ずnode-redに渡したい他の引数よりも前に現れなければなりません。
pm2 start /usr/bin/node-red -- -v
pm2 start /usr/bin/node-red --node-args="--max-old-space-size=128" -- -v
これによってNode-REDがバックグラウンドで起動します。 以下のコマンドを利用することでプロセスについての情報を確認し、ログ出力にアクセスすることができます。
pm2 info node-red
pm2 logs node-red
PM2によるプロセスを管理についてのさらなる情報は、こちらで得ることができます。
PM2は実行されているプラットフォームに適したスタートアップスクリプトを作成し、 設定することができます。
これらのコマンドを実行し、表示される指示に従ってください:
pm2 save
pm2 startup
systemdを利用する新しいLinuxシステムでは以下のようにします
pm2 startup systemd
export PM2_HOME="/root/.pm2"を、以下のような正しいディレクトリを指すように置換する必要があります:
export PM2_HOME="/home/{youruser}/.pm2"
最後に、再起動して期待通りに全てが起動しているかを確認します。
PM2はWindowsではサービスとして自動起動しません。 他の選択肢としてはNSMMを利用するという手段があります。NSSMの例は以下のコミュニティのリンクから確認できます。
その他多くの手段があります。 以下のうちいくつかはコミュニティのメンバーによって作成されました。
Node-RED: Low-code programming for event-driven applications.
Copyright OpenJS Foundation and Node-RED contributors. All rights reserved. The OpenJS Foundation has registered trademarks and uses trademarks. For a list of trademarks of the OpenJS Foundation, please see our Trademark Policy and Trademark List. Trademarks and logos not indicated on the list of OpenJS Foundation trademarks are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.
The OpenJS Foundation | Terms of Use | Privacy Policy | OpenJS Foundation Bylaws | Trademark Policy | Trademark List | Cookie Policy