【问题标题】:Run Django manage.py shell commands on elastic beanstalk on AL2在 AL2 上的弹性 beanstalk 上运行 Django manage.py shell 命令
【发布时间】:2020-09-24 11:15:08
【问题描述】:

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

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

相关问题 - Run manage.py from AWS EB Linux instance

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

【问题讨论】:

    标签: django amazon-web-services amazon-elastic-beanstalk amazon-linux-2 makemigrations


    【解决方案1】:

    切换到当前应用目录

    cd /var/app/current/

    更改为暂存应用程序目录(仅在 eb 部署失败后存在)

    cd /var/app/staging/

    激活虚拟环境

    source $(find /var/app/venv/*/bin/activate)

    加载您的环境变量

    export $(sudo cat /opt/elasticbeanstalk/deployment/env | xargs)

    现在您可以运行管理命令了

    python manage.py shell

    【讨论】:

    • 暂存目录好像不需要改
    • 另一种加载环境属性的方法是使用get-config,例如:export $(/opt/elasticbeanstalk/bin/get-config --output YAML environment | sed -r 's/: /=/' | xargs) 这不需要sudo,因此在某些情况下它可能有用。
    • 非常感谢!我没有执行这个命令export $(sudo cat /opt/elasticbeanstalk/deployment/env | xargs) 它占用了我的本地环境变量。为我节省了很多时间
    • 在 Amazon Linux 2 上,可能需要(例如,拥有写入日志文件的权限)首先成为 webapp 用户:sudo su -l - webapp
    猜你喜欢
    • 2018-06-18
    • 2019-07-31
    • 1970-01-01
    • 2016-06-10
    • 2014-08-03
    • 1970-01-01
    • 1970-01-01
    • 2019-06-17
    • 2018-04-07
    相关资源
    最近更新 更多