根据这里的文档:http : //pm2.keymetrics.io/docs/usage/startup/#startup-systems-support
您可以使用该命令pm2 startup ubuntu -u nodeapps在服务器启动时复活所有保存的 pm2 作业。
我以 nodeapps 用户身份运行此命令。然后我得到了一个 sudo su 命令来运行。我注销了 nodeapps,使用 sudo su 以 root 身份登录系统,然后运行命令:
sudo su -c "env PATH=$PATH:/usr/bin pm2 startup ubuntu -u nodapps --hp /home/nodeapps"
Run Code Online (Sandbox Code Playgroud)
服务器重新启动时进程未重新启动。我在 Stack Overflow 上发现了这个问题:Ubuntu 14.04 - pm2 startup not started after reboot。
在脚本中,/etc/init.d/pm2-init.sh我找到了问题建议解决的行:
export PATH=/usr/bin:$PATH
export PM2_HOME="/home/nodeapps/.pm2"
Run Code Online (Sandbox Code Playgroud)
但对我来说它看起来是正确的,所以我没有改变任何东西。
然后我发现了这个问题:pm2 Startup not started on Ubuntu
在我的启动日志中,我找到了以下行:
Starting pm2
/usr/bin/env: node: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我知道 Ubuntu 上的“节点”实际上是“nodejs”。这可能是原因吗?
如果是,我该怎么做才能使启动命令查找 …
pm2每次服务器启动时,我都会尝试使用该模块启动我的节点js应用程序.我已经使用了该命令,pm2 startup ubuntu但每次重新启动服务器时,我的应用程序都没有运行,我必须再次手动启动它.
是什么导致了这个问题?