服务器重启后 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
我在 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