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
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
試す方法
毎回再起動かけるのは大変なので
sudo /etc/rc.local
で試せます。
エラーがあればここでわかります。
問題なさそうなら
sudo reboot
して再起動をかけます。
お疲れ様でした。