我有一个Node.js应用程序,它是可行的,但有已知和未知的错误,会导致应用程序崩溃。在这种情况下,如果pm2
能够重新启动节点应用程序,那就太好了。pm2
中是否已提供此功能?
是的,默认情况下会这样做。有关更多信息,请参阅重新启动策略。
如果应用程序在短时间内反复无法启动,pm2可能会停止重新启动。请参阅配置、min_uptime
和max_restarts
。
此外,请检查这个新的优秀选项:
--exp-backoff-restart-delay=100
pm2
将在100毫秒(0.1秒)后重新启动崩溃的应用程序,然后逐步将重新启动延迟增加到15秒。
要在应用程序崩溃时重新启动,必须使用PM2的一种重新启动策略。
有一种东西叫做";指数后退重新启动延迟";PM2解释为:
当出现异常(例如数据库关闭)时,指数回退重新启动不会像疯狂地重新启动应用程序,而是会增加重新启动之间的时间。
您可以使用CLI进行设置,如下所示:
pm2 start app.js --exp-backoff-restart-delay=100
这里也提到了其他重新启动方法。
这可能会有所帮助:
# Generate Startup Script
$ pm2 startup
# Freeze your process list across server restart
$ pm2 save
# Remove Startup Script
$ pm2 unstartup
更多详细信息,请点击此处