如何使用 Amazon EC2 实例为生产设置 node.js process.env 变量?

Posted

技术标签:

【中文标题】如何使用 Amazon EC2 实例为生产设置 node.js process.env 变量?【英文标题】:How to set up node.js process.env variables for production with an Amazon EC2 instance? 【发布时间】:2018-04-29 11:39:01 【问题描述】:

我已经搜索并搜索了这个问题的直接答案,但我一无所获。我有我的本地 .env 文件,并且正在使用 dotenv 成功加载它。

我能找到的为生产设置 process.env 变量的唯一答案是使用 Elastic Beanstalk。

有没有办法只用一个 EC2 实例来设置这些变量?

【问题讨论】:

【参考方案1】:

对于基于 Ubuntu (Linux) 的 EC2 实例

    编辑~/.bashrc将运行程序的用户文件

    sudo nano ~/.bashrc

    在末尾添加以下行,使用任何变量名。假设唯一且未使用

    导出 API_KEY=btgj32fkf

    保存文件并

    来源 ~/.bashrc

现在,在节点程序中 process.env.API_KEY 将可用。

对于不同的EC2操作系统,上述方法会略有不同

【讨论】:

【参考方案2】:

这是一个普通的服务器。你总是可以通过

设置环境
EXPORT FOO=bar

【讨论】:

服务器一重启,变量不会重置吗? 把它放到登录shell rc 以便在启动时获取源代码?【参考方案3】:
if [[ ! -d "$MyVar" ]]; then 
    export MyVar="abc"
    echo 'export MyVar="abc"' >> ~/.bashrc
fi

使用此代码。它将 MyVar 永久保存在 ~/.bashrc 中

【讨论】:

以上是关于如何使用 Amazon EC2 实例为生产设置 node.js process.env 变量?的主要内容,如果未能解决你的问题,请参考以下文章

启动 Amazon EC2 实例时如何自动启动 Web 服务?

如何在 Amazon EC2 实例中启用根 SSH 访问?

如何在 Amazon EC2 Ubuntu 服务器上设置 GUI

为EC2 Amazon Linux实例设置SFTP Sublime Text 3

如何使用 Amazon .NET 库列出所有 EC2 实例?

如何在 Amazon EC2 上使用 Gunicorn 设置 Nginx 代理缓冲?