服务器重启后 PM2 不会启动我的 nodejs 应用程序

PM2 doesn't launch my nodejs app after server restart

我在 Google Compute Engine 中设置了一个虚拟机实例。我安装了 pm2,运行 这些命令: sudo env PATH=$PATH:/usr/local/bin pm2 startup -u zgintasz

pm2 start index.js

当我键入 pm2 list 时,我会看到我的应用进程 运行。

我想确保我的 nodejs 应用程序在服务器重新启动时重新启动,所以我在 Google 开发者控制台上单击 Reset,再次输入 pm2 list 但我没有看到它 运行 了。有什么问题吗?

我一直在同一条船上。经过一番搜索,我发现您需要在启动应用程序后 'save'。 'pm2 save' - 转储进程。

这对我个人来说解决了这个问题,在我的 Ubuntu 机器上,但是在我的 debian vps 上,它似乎仍然没有像它应该的那样持续存在。

您可以通过键入命令在服务器启动 (/etc/init.d/) 文件夹中配置 pm2:

sudo env PATH=$PATH:path_to_bin pm2 startup os_name -u user_name

这样做是在告诉服务器在服务器启动时启动您的 pm2 进程。但是为了这样做,您需要存储 pm2 进程的状态,您可以通过以下方式完成:

pm2 save

在 upstart 配置您的 pm2 之后。

因此,每当您的机器出现故障并重新启动它时,pm2 将 运行 从您保存节点进程开始的状态。

使用“pm2 启动”

  • 不加sudo