如何在Linux系统重启后自动启动pm2实例

linux 系统重启 pm2 实例都被清除了,怎么让系统重启 pm2 的实例列表自动启动

您可以使用pm2的startup命令将pm2添加到系统启动项中,以便在系统重启时自动启动pm2实例列表。

以下是在Linux上使用pm2的startup命令的步骤:

  1. 打开终端并切换到您的项目目录。

  2. 运行以下命令安装pm2的startup模块:

    sudo npm install pm2 -g
    sudo pm2 startup
    
  3. 运行以上命令后,您将看到一条消息,告诉您如何激活pm2。请按照该消息中的指示运行命令。

  4. 如果您需要保存当前pm2实例列表,请运行以下命令:

    sudo pm2 save
    
  5. 现在,当您重新启动系统时,pm2将自动启动并加载之前保存的实例列表。

希望这可以帮助您解决问题。

如果有些实例stop了,在系统重启时 会自动启动吗?

如果某些实例在系统重启时处于停止状态,它们不会自动启动。为了使这些实例在系统重启后自动启动,您需要将它们添加到pm2的startup列表中。可以使用以下命令将当前pm2实例列表保存到startup列表中:

sudo pm2 startup
sudo pm2 save

以上命令将创建一个启动脚本并将其复制到系统启动目录中,并将当前pm2实例列表保存到该脚本中。这样,在系统重启后,pm2将自动加载此脚本并重新启动所有已注册的实例。

请注意,如果您手动停止了一些实例,它们将不会自动启动。如果您希望这些实例在系统重启后自动启动,请将它们添加到pm2的startup列表中,或者手动启动它们。

pm2 stop 命令停止的实例 在pm2 startup 列表 是不会自动启动是吗?

是的,如果您使用pm2 stop手动停止了某些实例,则它们不会自动启动,即使将PM2添加到系统启动项中也无效。在这种情况下,您需要手动启动它们或将它们添加到PM2 startup列表中。

要将已停止的实例添加到PM2 startup列表中,请运行以下命令:

pm2 save

此命令将当前的PM2进程列表保存到启动脚本中,并确保在系统重启后自动启动这些进程。请注意,该命令需要以管理员权限运行,因此您可能需要在命令前加上sudo

如果您只想将特定的PM2进程添加到startup列表中,可以运行以下命令:

pm2 startup systemd -u user --hp /home/user
pm2 save

在上面的命令中:

  • -u选项指定应该用哪个用户来运行进程。
  • --hp选项指定用户主目录路径。

请注意,在上述命令中,您需要将"user"替换为您要使用的用户名,并将"/home/user"替换为该用户的主目录路径。此外,您还需要将相应的PM2进程ID添加到startup列表中:

pm2 start app.js --name "my-app"
pm2 save

在上面的命令中,我们将名为“my-app”的进程添加到startup列表中。您可以根据需要调整该命令。

希望这可以帮助您!