确定我的 Node.js 应用程序当前在哪个 AWS Beanstalk 环境中运行的最佳实践是啥?

Posted

技术标签:

【中文标题】确定我的 Node.js 应用程序当前在哪个 AWS Beanstalk 环境中运行的最佳实践是啥?【英文标题】:What is the best practice for figuring out in which AWS Beanstalk Environment my Node.js application is currently running?确定我的 Node.js 应用程序当前在哪个 AWS Beanstalk 环境中运行的最佳实践是什么? 【发布时间】:2014-08-23 23:32:38 【问题描述】:

我的 Node.js Express 应用程序在 AWS Beanstalk 中运行。我为我的应用程序创建了三个 Beanstalk 环境,即:

DEV(开发) UAT(用户验收测试) 产品(生产)

根据我的应用程序运行的环境,我想连接到不同的数据库并使用不同的级联样式表。

确定我的 Node.js 应用程序当前在哪个 AWS Beanstalk 环境中运行的最佳做法是什么?

我觉得我应该使用 Beanstalk 环境标签,但我无法弄清楚如何通过我的 Node.js 应用程序访问它们。

【问题讨论】:

【参考方案1】:

没错,使用您从 Beanstalk 控制台配置的环境变量,让应用程序的实例知道它在哪个环境中运行。您不会在节点 beanstalk 应用程序中获得that many options,但如果您说只想传递一个 db 连接字符串和一个 css 路径,您可以使用 PARAM1 和 PARAM2 执行此操作,然后在您的应用程序中使用

process.env.PARAM1 & process.env.PARAM2

(我通常将这些推送到应用程序引导程序上更合适的名称/位置)。

您的另一种选择是在 PARAM1 中传入一些软“env”变量,然后让您的应用程序计算出如何处理您的各种配置(但这会在您的应用程序中添加另一个隐藏的配置层)。

【讨论】:

以上是关于确定我的 Node.js 应用程序当前在哪个 AWS Beanstalk 环境中运行的最佳实践是啥?的主要内容,如果未能解决你的问题,请参考以下文章

node.js 在函数内获取当前函数

如何使用 Node.js 确定当前的操作系统

哪个数据库适合我的应用程序 mysql 或 mongodb ?使用 Node.js 、 Backbone 、 Now.js

从正在运行的 node.js 应用程序确定项目根目录

signalr和node.js哪个好

如何使用pkg在Node.js程序中获取程序的当前目录?