【发布时间】:2015-12-23 05:23:06
【问题描述】:
好吧,伙计们,
这让我发疯...无法让我的 nodejs 应用程序在树莓派上自动启动@boot...
机器:Raspberry 2(Raspbian Jessie)
尝试了我在 Google 上找到的几乎所有可能的解决方案。
这就是我最终得到的结果:
已安装 pm2
$ sudo npm install -g pm2
这会将其安装为 init.d 脚本并以 pi 用户身份运行应用程序
$ sudo pm2 startup raspberry -u pi
[PM2] Generating system init script in /etc/init.d/pm2-init.sh
[PM2] Making script booting at startup...
[PM2] -raspberry- Using the command:
su -c "chmod +x /etc/init.d/pm2-init.sh && update-rc.d pm2-init.sh defaults"
[PM2] Done.
我读到脚本引用了错误的 .pm2 文件夹(查看根文件夹,而不是用户文件夹),所以我改变了它
$ sudo vi /etc/init.d/pm2-init.sh
将export PM2_HOME="/root/.pm2" 更改为export PM2_HOME="/home/pi/.pm2"
$ cd /opt/mycoolnodeproject
使用 pm2 启动我的节点项目
$ pm2 start server.js -x --name "node-project"
保存活动进程,以便在重启时重启它们(如果 pi 崩溃,它会在关机时自动保存)
$ pm2 dump
所以现在服务器已经启动并运行并且工作正常......直到我重新启动!我认为 pm2 会自动启动我的节点应用程序,但由于某种原因它不会...... :(
知道可能是什么问题吗?
顺便说一句:我也尝试过像 sudo env PATH=$PATH:/usr/local/bin pm2 startup raspberry -u pi 这样调用启动,但这也不起作用。
问候,
萨沙
【问题讨论】:
-
你用 sudo 安装了 pm2 吗?
-
sudo npm install -g pm2
-
我也有类似的问题——很想知道你是否设法解决了你的问题。
-
当然,我是用 sudo 安装的。没有 sudo,我无法安装全局 deps。
-
到目前为止您找到解决方案了吗?
标签: node.js raspberry-pi raspbian autostart pm2