Javascript pm2崩溃后重新启动node.js

Javascript pm2崩溃后重新启动node.js,javascript,node.js,linux,command-line,pm2,Javascript,Node.js,Linux,Command Line,Pm2,根据,pm2应该重新启动崩溃的应用程序 当我的应用程序崩溃时,不会发生任何事情,进程也会从pm2列表中丢失。我是否必须以某种方式激活“自动重启选项” 我正在使用: pm2 v0.12.3 节点v0.11.14 亚马逊Linux 我试图使用PM2作为监视Node.js应用程序的唯一手段,但效果不佳。最后,我采用的方法是监控应用程序流程,并在monit配置脚本中使用pm2来startOrRestart或停止流程。例如,在monitrc文件中: 检查流程节点\应用程序匹配/home/webapps

根据,pm2应该重新启动崩溃的应用程序

当我的应用程序崩溃时,不会发生任何事情,进程也会从
pm2列表中丢失。我是否必须以某种方式激活“自动重启选项”

我正在使用:

  • pm2 v0.12.3
  • 节点v0.11.14
  • 亚马逊Linux

我试图使用PM2作为监视Node.js应用程序的唯一手段,但效果不佳。最后,我采用的方法是监控应用程序流程,并在
monit
配置脚本中使用
pm2
startOrRestart
停止流程。例如,在
monitrc
文件中:


检查流程节点\应用程序匹配/home/webapps/node\应用程序/app.js
启动程序=“/bin/bash-lc”cd/home/webapps/node_app&&PM2_home=/home/webapps/.PM2/usr/bin/PM2 startOrRestart processes.json”
停止程序=“/bin/bash-lc”cd/home/webapps/node_app&&PM2_home=/home/webapps/.PM2/usr/bin/PM2 stop processs.json”


这不仅可以让你“观察观察者”,还可以帮助你解决持久性问题。

PM2应该自动重启应用程序,但有几种替代方法可以确保PM2可以做到这一点(包括你已经链接到的
--watch
命令)。我采取的路线是:

$ pm2 startup systemd
然后,PM2将输出指令以执行以下命令(注意,我建议复制/粘贴上述
startup
命令的输出,而不是使用下面的示例):


这将创建环境变量,以便在应用程序崩溃或服务器重新启动时重新启动您的进程。

通常,pm2应该在崩溃时自动重新启动您的应用程序。如果不是,我想这是一个问题,不能修复,只有重新启动。例如,无法连接到数据库。PM2将尝试重新启动多次,之后将放弃,因为db处于脱机状态。这很容易调试,只需查看带有“pm2日志”的日志,看看是什么导致了此崩溃,然后修复它。:)<代码>--监视不意味着在崩溃时重新启动;)而是“当在当前目录或其子目录中修改文件时,PM2可以自动重新启动应用程序”,请检查此处
$ sudo su -c "env PATH=$PATH:/usr/bin pm2 startup systemd -u USERNAME --hp /home/USERNAME"