【发布时间】:2017-10-05 02:11:00
【问题描述】:
在我的本地节点服务器中,任何未捕获的异常都会失败,必须手动重新启动。所以 local 是使用 forever 或 pm2 运行的。 但是我的开发服务器是带有 Node.Js 环境的 AWS Elastic Beanstalk。虽然它会记录未捕获的异常并抛出它,但它永远不会终止。即使它终止,它也会自动启动。 那么是否需要 PM2 或 Forever 来让 node.js 在 AWS Elastic Beanstalk 环境中永远运行。
【问题讨论】:
-
Nodejs 进程完全由 Elastic beanstalk 管理,但您可以使用
.ebextensions/web.config文件 Advanced Environment Customization 自定义您的实例 -
Elastic beanstalk 会永远保留 nodejs 吗?重启情况如何?
-
@Janier 以我的经验。当该过程结束时,它将立即重新启动。这会导致如果您在启动时出现错误,它将疯狂地消耗实例 CPU 积分,因为它只是在循环中重新启动 node.js 应用程序。此外,您应该有一个
/health路由,并且当 EB 检测到运行状况失败时,它会替换/重新启动您的实例。这可以解决您在实例上崩溃/冻结整个操作系统时的情况,例如当您用完系统内存时。
标签: node.js amazon-web-services pm2 forever amazon-elastic-beanstalk