相关疑难解决方法(0)

Elastic Beanstalk 环境变量在 SSH 中丢失

我试图在我的 NodeJS 应用程序上运行一些需要通过 SSH 运行的命令(例如 Sequelize 播种),但是当我这样做时,我注意到预期的 env vars 丢失了。

如果我eb printenv在本地机器上运行,我会看到在我的 EB 仪表板中设置的预期环境变量

如果我通过 SSH 登录并运行printenv,我期望的所有这些变量都将丢失。

那么会发生什么,当我运行我的种子时,我收到一个错误:

node_modules/.bin/sequelize db:seed:all
ERROR: connect ECONNREFUSED 127.0.0.1:3306
Run Code Online (Sandbox Code Playgroud)

我注意到端口是错误的,应该是 5432。我检查了我的环境变量是否设置了printenv并且它们不存在。这让我怀疑我的 ssh 会话中没有加载正确的 env 变量,并且 NodeJS 正在回退到我在配置中提供的默认值。

我在网上找到了一些解决方案,比如运行以下命令来加载 env 变量:

/opt/python/current/env
Run Code Online (Sandbox Code Playgroud)

但是python目录不存在。里面的所有内容/opt/都是elasticbeanstalkaws目录。

我取得了一些成功,所以我至少可以通过运行以下命令看到 env 变量存在于服务器上的某处:

sudo /opt/elasticbeanstalk/bin/get-config environment --output YAML
Run Code Online (Sandbox Code Playgroud)

但是仅仅运行这个命令并不能解决问题。它所做的只是将预期的环境变量输出到屏幕上。那是东西!至少我知道他们肯定在那里!但是当我运行时环境变量仍然不存在printenv

那么我该如何解决这个问题呢?Sequelize 和 NodeJS 显然也没有看到 env 变量,它试图使用在我的配置文件中设置的后备默认值。

amazon-web-services node.js amazon-elastic-beanstalk

5
推荐指数
1
解决办法
472
查看次数

在 AL2 上的弹性 beantalk 上运行 Django manage.py shell 命令

我在 AWS Elastic Beanstalk(在 Amazon Linux 2 上)上启动并运行了我的 Django 服务。eb deploy完美地工作。但是我想通过 eb 从 Django 的 shell 运行一些函数,或者在我的数据库上执行迁移。

在我eb ssh <environment-name>找不到manage.py文件后,我无法找到我的包裹。

相关问题 -从 AWS EB Linux 实例运行 manage.py

我相信它可能已经过时了?

django amazon-web-services amazon-elastic-beanstalk makemigrations amazon-linux-2

4
推荐指数
1
解决办法
782
查看次数

ElasticBeanstalk 的 EC2 实例不会检索终端/ ssh 中 Laravel 应用程序的 Beanstalk 控制台中设置的 .env 变量

我正在将 Laravel 应用程序部署到 ElasticBeanstalk。现在,我尝试通过 SSH 连接到 Beanstalk 环境的 EC2 实例并运行命令。

php artisan migrate --force
Run Code Online (Sandbox Code Playgroud)

但我不能运行它。该命令失败,因为它没有获取在 Beanstalk 环境中设置的环境变量。这是我所做的。

我通过 ssh 进入实例。然后我转到 /var/www/html 文件夹。然后我运行“php artisan migrate --force”命令。正如我所提到的,它失败了,因为它没有获取在 Beanstalk 环境中设置的数据库凭据。我也试过这个。

sudo -u root php artisan migrate --force
Run Code Online (Sandbox Code Playgroud)

同样的事情发生了。我还在终端玩弄修补匠。当我检索像 env('APP_NAME') 这样的应用程序名称时,它返回 null。这是什么问题,我该如何解决?

amazon-ec2 amazon-web-services laravel amazon-elastic-beanstalk

4
推荐指数
1
解决办法
723
查看次数

aws eb deploy 不加载环境变量

我正在通过 eb deploy 将 symfony 项目部署到 ec2 实例(aws linux 2)。部署后迁移脚本运行良好,但随后我尝试使用 ec2-user 运行 symfony 命令,我收到有关错误数据库凭据的错误。这是因为我已经用空值推送了转储 .env 文件。我所有的环境变量都存储在 eb -> 配置 -> 环境属性中。如何使这些变量对其他用户可见以正确执行命令?

我可以将这些变量视为 json:

/opt/elasticbeanstalk/bin/get-config environment
Run Code Online (Sandbox Code Playgroud)

environment-variables amazon-ec2 amazon-web-services symfony amazon-elastic-beanstalk

4
推荐指数
1
解决办法
1017
查看次数