LoginSignup
10
10

More than 5 years have passed since last update.

RaspberryPiの起動時にNode.jsを実行&PM2で永続化するメモ

Posted at

RaspberryPiを起動した際にNode.jsのコードを起動させてみたいと思います。
単純にNode.jsの起動とpm2経由での起動です。

環境

  • Raspberry Pi 2 modelB
  • Raspbian 8.0 jessie
$ lsb_release -a

No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 8.0 (jessie)
Release:    8.0
Codename:   jessie
  • Node.jsnvm経由でいれたv4.4.2が動いてます。

デフォルト

RaspberryPiのIPを表示します。

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi

exit 0

exit 0の前に起動時に行いたい処理を書いていきます。

Node.jsをRaspberryPiの起動時に実行

which node

/home/pi/.nvm/versions/node/v4.4.2/bin/node

Node.jsのパスが/home/pi/.nvm/versions/node/v4.4.2/bin/nodeの場合は
ホーム直下のapp.jsを起動する場合はこんな感じです。

sudo -u pi /home/pi/.nvm/versions/node/v4.4.2/bin/node /home/pi/app.js

参考: node.jsスクリプトの自動起動

PM2をRaspberryPiの起動時に実行

PM2の起動ではenvにNode.jsのパスを与える必要があります。
/home/pi/.nvm/versions/node/v4.4.2/bin/nodeではなく/home/pi/.nvm/versions/node/v4.4.2/bin/を指定しましょう。

sudo -u pi env PATH=$PATH:/home/pi/.nvm/versions/node/v4.4.2/bin/ /home/pi/.nvm/versions/node/v4.4.2/bin/
pm2 start /home/pi/app.js

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

試す方法

毎回再起動かけるのは大変なので

sudo /etc/rc.local

で試せます。

エラーがあればここでわかります。

問題なさそうなら

sudo reboot

して再起動をかけます。
お疲れ様でした。

10
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
10