在AWS上部署Django时,“命令挂钩失败”

时间:2014-07-03 16:53:35

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

我正在尝试在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

1 个答案:

答案 0 :(得分:0)

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