Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
10
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

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

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

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
10
Help us understand the problem. What are the problem?