Elastic Beanstalk自定义AMI无法查看环境变量

时间:2014-07-03 20:23:04

标签: amazon-web-services ssh amazon-ec2 elastic-beanstalk

我因为一些大的软件包要求而使用自定义AMI进行Elastic Beanstalk。

当我通过SSH连接到EC2实例时,我的应用程序都无法使用我的环境变量(在Elastic Beanstalk Web控制台设置中指定)。

生产中的我的应用程序可以很好地访问变量,但我不能在控制台中这样做,这实际上使调试非常困难。

当我使用SSH控制台时,如何使所有环境变量可用?

3 个答案:

答案 0 :(得分:11)

在仔细阅读Elastic Beanstalk支持论坛时,找到了一种加载所有环境变量的简便方法:

. /opt/python/current/env

要查看变量:echo ${VAR_NAME}printenv VAR_NAME,在使用上述命令之前不起作用。 (UNIX, get environment variable

<强>加成:

只需查看变量列表:printenv

将变量列为导出:cat /opt/python/current/env

将导出添加到配置文件的末尾:cat /opt/python/current/env >> /path/to/my/file

答案 1 :(得分:5)

Elastic Beanstalk使用的环境变量不是shell环境变量。它们在启动时传递到您的应用程序环境(使用不同语言的不同方法)。

E.g。

Java Environment Variables

PHP Environment Variables

我过去通过在应用的管理端设置一个页面来解决这个问题,该页面只是为了调试目的而列出它们。

答案 2 :(得分:0)

对于Node.js,我必须手动添加它们:

export VARNAME="my value"

检查:

printenv VARNAME