pm2启动未在Ubuntu上启动
我很难让pm2在服务器重新启动时重新启动(自身和两个节点/express文件,pm2启动未在Ubuntu上启动,ubuntu,pm2,Ubuntu,Pm2,我很难让pm2在服务器重新启动时重新启动(自身和两个节点/express文件,app.js&app2.js) 以下是我尝试过的过程: pm2 startup pm2 start app.js pm2 start app2.js pm2 startup ubuntu (also tried systemd and with/without -u username) pm2 save 我在所有可能的组合中运行了上述命令,但没有任何效果。我尝试以root用户身份运行,但也不起作用 我的~/.pm2/
app.js
&app2.js
)
以下是我尝试过的过程:
pm2 startup
pm2 start app.js
pm2 start app2.js
pm2 startup ubuntu (also tried systemd and with/without -u username)
pm2 save
我在所有可能的组合中运行了上述命令,但没有任何效果。我尝试以root用户身份运行,但也不起作用
我的~/.pm2/dump.pm2
文件包含信息,因此我不确定还能在哪里查找
我试图根据修改我的/etc/init.d/pm2 init.sh
文件,但没有帮助
我的设置:数字海洋服务器
Ubuntu 15.10
节点v5.4.1
PM2 v1.0.0
我试过的其他参考资料..
到目前为止,每次我重新启动服务器时,pm2都无法自动启动(除非我需要等待几分钟?-nginx立即重新启动)
有人能帮我解决这个问题吗?命令的运行顺序是什么?我需要修改其他文件吗?您是否尝试过在Ubuntu上检查启动日志(
cat/var/log/boot.log
)
您可能会看到如下错误:
错误:EACCES,权限被拒绝'/home/.pm2'
我自己还没能解决这个问题,但至少这会给你指明正确的方向。我想我
我玩pm2,发现CentOS 7有两种工作方式(在您的
项目文件夹index.js-主文件):
- 一, sudo pm2 start index.js sudo pm2 save sudo pm2 startup centos sudo pm2 start index.js sudo pm2保存 sudo pm2启动中心
- 二, pm2 start index.js pm2 save pm2 startup centos '# and run the script generated in the previous code under sudo pm2启动索引.js pm2节约 pm2启动中心 “#并在sudo下运行前面代码中生成的脚本
您必须使用保存节点应用程序
pm2 start [app_name]
pm2 save
然后做:
pm2 startup [operation system]
这将创建一个dump.pm2文件,pm2需要该文件在重新启动时运行应用程序
操作系统:
- systemd:Ubuntu>=16,CentOS>=7,Arch,Debian>=7
- upstart:Ubuntu我的解决方案是使用systemctl重新启动pm2:
当我第一次安装Ubuntu 18.04服务器时,我运行了systemctl重新加载或重新启动pm2 root
来启动我的应用程序。然后,当我尝试运行pm2 start app.js
+pm2启动
在启动时重新启动应用程序时,这似乎不起作用,因为通过运行pm2保存
,pm2没有显示在服务列表中。即使应用程序正在运行(systemctl list units
确认了这一点)。所以我运行了pm2列表
,pm2显示为“不活动”和“死亡” 所以我做了:systemctl list units-all
(只是为了确认它是“非活动的”/“死的”)systemctl status pm2 root
(通过systemctl重新启动pm2)systemctl重新加载或重新启动pm2根目录
(确认pm2现在处于“活动”/“运行”)systemctl状态pm2 root
- 然后我还运行了
,以使pm2能够在启动时运行(如果需要,不确定)systemctl enable pm2 root
- 和
+pm2启动
(用于启动时启动)pm2保存
备注:我在命令中使用了
,因为我使用pm2 root
用户运行pm2,但如果需要,您应该为您的用户更换(root
)。Ubuntu中有以下代码:pm2-
请注意,“pm2 save”将在/root/.pm2/dump.pm2中创建一个dump.pm2文件,此文件将在机器重新启动时使用 如果您不知道您的操作系统名称,请使用:pm2 start main.js pm2 save pm2 startup ubuntu
pm2 startup
PM2将自动检测您的操作系统。我检查了该文件,但其中没有任何内容:(可能是该文件夹上的权限太严格了吗?只是猜测。这是权限问题的解决方案:我必须试一试!这对我在Ubuntu 14.04.5 LTS上的工作很有效。从我最初尝试的
中读出,告诉我使用pm2 startup Ubuntu
。是这样做的吗,现在我的应用程序在重新启动时启动。我我使用的是Ubuntu Xenial 16.04。对我有效的是:pm2 save…pm2 startup upstart。是的!@pwred这取决于Ubuntu使用的进程管理,这取决于Ubuntu版本。你可以在这里查看具体案例:pm2 startup upstart