根据这里的文档: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"
字符串
服务器重启时进程没有重启。我在Stack Overflow上发现了这个问题:Ubuntu 14.04 - pm2 startup not starting after reboot。
在脚本/etc/init.d/pm2-init.sh
中,我找到了问题建议解决的行:
export PATH=/usr/bin:$PATH
export PM2_HOME="/home/nodeapps/.pm2"
型
但它看起来是正确的,所以我没有改变任何东西。
然后我发现了这个问题:pm2 Startup not starting up on Ubuntu
在我的 Boot 日志中,我发现下面这行:
Starting pm2
/usr/bin/env: node: No such file or directory
型
我知道Ubuntu上的“node”实际上是“nodejs”,这可能是原因吗?
如果是,我可以做些什么来让启动命令查找nodejs而不是node。
或者,这可能是一个$PATH的问题吗?如果是,我如何添加正确的路径到根目录(至少我认为应该添加到根目录)
3条答案
按热度按时间kx7yvsdv1#
我不知道它是否会帮助你,但我用这种方式:
1.以非根用户
字符串
1.复制行显示为
型
1.作为根执行
型
1.返回到非root用户并键入:
型
1.作为非根类型:
型
1.重新启动
型
1.作为一个非根用户类型的命令below检查它是否工作
型
PS:根据需要改变。
我希望这对你或其他人有用。
sqyvllje2#
事实上,这就是问题所在。通过创建一个符号链接(作为根)修复:
字符串
kb5ga3dv3#
我使用了一个更简单的解决方案(在我看来...)。如果你有SU权限,你可以模仿其他用户,像这样:
字符串