pm2启动未在Ubuntu上启动

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/

我很难让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/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:
    systemctl重新加载或重新启动pm2 root

    当我第一次安装Ubuntu 18.04服务器时,我运行了
    pm2 start app.js
    来启动我的应用程序。然后,当我尝试运行
    pm2启动
    +
    pm2保存
    在启动时重新启动应用程序时,这似乎不起作用,因为通过运行
    systemctl list units
    ,pm2没有显示在服务列表中。即使应用程序正在运行(
    pm2列表
    确认了这一点)。所以我运行了
    systemctl list units-all
    ,pm2显示为“不活动”和“死亡”

    所以我做了:

    • systemctl status pm2 root
      (只是为了确认它是“非活动的”/“死的”)

    • systemctl重新加载或重新启动pm2根目录
      (通过systemctl重新启动pm2)

    • systemctl状态pm2 root
      (确认pm2现在处于“活动”/“运行”)

    • 然后我还运行了
      systemctl enable pm2 root
      ,以使pm2能够在启动时运行(如果需要,不确定)

    • pm2启动
      +
      pm2保存
      (用于启动时启动)


    备注:我在命令中使用了
    pm2 root
    ,因为我使用
    root
    用户运行pm2,但如果需要,您应该为您的用户更换(
    pm2-
    )。

    Ubuntu中有以下代码:

    pm2 start main.js
    pm2 save
    pm2 startup ubuntu
    
    请注意,“pm2 save”将在/root/.pm2/dump.pm2中创建一个dump.pm2文件,此文件将在机器重新启动时使用

    如果您不知道您的操作系统名称,请使用:

    pm2 startup
    

    PM2将自动检测您的操作系统。

    我检查了该文件,但其中没有任何内容:(可能是该文件夹上的权限太严格了吗?只是猜测。这是权限问题的解决方案:我必须试一试!这对我在Ubuntu 14.04.5 LTS上的工作很有效。从我最初尝试的
    pm2 startup Ubuntu
    中读出,告诉我使用
    pm2 startup upstart
    。是这样做的吗,现在我的应用程序在重新启动时启动。我我使用的是Ubuntu Xenial 16.04。对我有效的是:pm2 save…pm2 startup upstart。是的!@pwred这取决于Ubuntu使用的进程管理,这取决于Ubuntu版本。你可以在这里查看具体案例: