我看到很多关于使用nohup、forever和pm2在后台运行node的帖子。但我仍不确定哪种是最优选择,希望得到一些指导。
背景 - 在使用Ubuntu 16版本的Apache服务器上运行MEAN堆栈应用程序。App.js位于/var/www/位置。目前我正在使用forever使应用程序在退出终端时在后台运行。如果我使用nohup,命令将是:
我想确保无论我如何退出终端(通过键入exit或仅单击右上角的X),以及应用程序部署在哪个操作系统上,都不会以干扰我的应用程序的方式终止任何后台服务。为此,运行应用程序的最佳方法是什么?nohup,forever还是pm2?我也了解到有些人更喜欢pm2而不是forever。pm2提供了什么forever没有的功能?
背景 - 在使用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