【问题标题】:"Command hooks failed" when deploying Django on AWS在 AWS 上部署 Django 时出现“命令挂钩失败”
【发布时间】:2015-03-02 01:32:09
【问题描述】:

我正在尝试在 Amazon Elastic Beanstalk 上部署 Django 应用程序。按照亚马逊的guide,我将我的数据库设置更改为RDS并编写了一个配置文件。

这是在 django 的 settings.py 中:

'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': os.environ['RDS_DB_NAME'],
    'USER': os.environ['RDS_USERNAME'],
    'PASSWORD': os.environ['RDS_PASSWORD'],
    'HOST': os.environ['RDS_HOSTNAME'],
    'PORT': os.environ['RDS_PORT'],
}

这是我的 Elastic Beanstalk 配置文件:

container_commands:
  01_syncdb:    
    command: "django-admin.py syncdb --noinput"
    leader_only: true
  02_createadmin:
    command: "scripts/createadmin.py"
    leader_only: true

option_settings:
  - namespace: aws:elasticbeanstalk:container:python
    option_name: WSGIPath
    value: myapp/wsgi.py
  - namespace: aws:elasticbeanstalk:container:python:staticfiles
    option_name: /static/
    value: static/
  - option_name: DJANGO_SETTINGS_MODULE
    value: myapp.settings
  - option_name: AWS_SECRET_KEY
    value: *my secret key*
  - option_name: AWS_ACCESS_KEY_ID
    value: *my access key*

我正在使用 eb 进行部署。使用“eb init”和“eb start”我可以成功创建应用程序并且它是 env 并且使用 git aws.push 我将我的最后一次提交推送到服务器。

但是,更新后我得到了这个错误:

2014-07-03 13:41:27 UTC-0300    ERROR   [Instance: i-4b1aef3e Module: AWSEBAutoScalingGroup ConfigSet: null] Command failed on instance. Return code: 1 Output: Error occurred during build: Command hooks failed .
2014-07-03 13:41:25 UTC-0300    ERROR   Script /opt/elasticbeanstalk/hooks/appdeploy/pre/01new.py failed with returncode 1
2014-07-03 13:41:25 UTC-0300    ERROR   Application version failed to deploy.

我做错了什么?

更新:

This is the log of a deploy

【问题讨论】:

  • 你在上一次提交中做了哪些改变?您可以尝试快照日志以查看详细的错误消息:docs.aws.amazon.com/elasticbeanstalk/latest/dg/…
  • @RohitBanga 我更新了快照日志。我已经看过了,但没有注意到任何解释这个错误的东西。 “最后一次提交”确实是这个应用程序的“第一次提交”。
  • 当你做eb status --verbose时你会得到什么

标签: python django amazon-web-services amazon-ec2 amazon-elastic-beanstalk


【解决方案1】:

您应该检查您是否尝试从您的 virtualenv 或您安装了 python 的位置推送:git aws.push。此外,您应该尝试重新启动为您的 ElasticBeanstalk 应用程序提供支持的 EC2 机器。

【讨论】:

    猜你喜欢
    • 2016-02-27
    • 2019-08-10
    • 2022-12-05
    • 2014-07-09
    • 2016-01-08
    • 2014-03-08
    • 2022-01-11
    • 2013-09-23
    • 1970-01-01
    相关资源
    最近更新 更多