如何在后台持续运行Node.js应用程序 - nohup vs. forever vs. pm2,哪种方式最佳?

9
我看到很多关于使用nohup、forever和pm2在后台运行node的帖子。但我仍不确定哪种是最优选择,希望得到一些指导。
背景 - 在使用Ubuntu 16版本的Apache服务器上运行MEAN堆栈应用程序。App.js位于/var/www/位置。目前我正在使用forever使应用程序在退出终端时在后台运行。如果我使用nohup,命令将是:
nohup node /var/www/<project_name>/app.js > stdout.txt 2> stderr.txt &

我想确保无论我如何退出终端(通过键入exit或仅单击右上角的X),以及应用程序部署在哪个操作系统上,都不会以干扰我的应用程序的方式终止任何后台服务。为此,运行应用程序的最佳方法是什么?nohup,forever还是pm2?我也了解到有些人更喜欢pm2而不是forever。pm2提供了什么forever没有的功能?

supervisord 更好。 - Styx
1个回答

10

PM2 是一款更加先进的工具,而且它有 PM2-Web 界面 可以进行管理。

PM2 能够实现但 Forever 不能:

  • 优雅/滚动重启
  • 操作系统启动脚本支持
  • 远程部署
  • 多个部署/还原
  • 集群模式
  • 度量信息

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接