【问题标题】:Trouble launching AWS environment with django使用 django 启动 AWS 环境时遇到问题
【发布时间】:2014-01-08 12:01:40
【问题描述】:

我按照文档中的步骤逐行执行,但我不断收到此错误:

Your WSGIPath refers to a file that does not exist.

这是我的“.config”文件:(appname 和密钥除外)

container_commands:
  01_syncdb:
    command: "python manage.py syncdb --noinput"
    leader_only: true

option_settings:
  - namespace: aws:elasticbeanstalk:container:python
    option_name: WSGIPath
    value: [myapp]/wsgi.py
  - option_name: DJANGO_SETTINGS_MODULE
    value: [myapp].settings
  - option_name: AWS_SECRET_KEY
    value: XXXX
  - option_name: AWS_ACCESS_KEY_ID
    value: XXXX

我搜索了一下,发现其他人也有类似的问题,他们通过编辑“optionsettings.[myapp]”解决了这个问题,我不想删除我需要的东西,但这是我所拥有的:

[aws:autoscaling:asg]
Custom Availability Zones=
MaxSize=1
MinSize=1

[aws:autoscaling:launchconfiguration]
EC2KeyName=
InstanceType=t1.micro

[aws:autoscaling:updatepolicy:rollingupdate]
RollingUpdateEnabled=false

[aws:ec2:vpc]
Subnets=
VPCId=

[aws:elasticbeanstalk:application]
Application Healthcheck URL=

[aws:elasticbeanstalk:application:environment]
DJANGO_SETTINGS_MODULE=
PARAM1=
PARAM2=
PARAM3=
PARAM4=
PARAM5=

[aws:elasticbeanstalk:container:python]
NumProcesses=1
NumThreads=15
StaticFiles=/static/=static/
WSGIPath=application.py

[aws:elasticbeanstalk:container:python:staticfiles]
/static/=static/

[aws:elasticbeanstalk:hostmanager]
LogPublicationControl=false

[aws:elasticbeanstalk:monitoring]
Automatically Terminate Unhealthy Instances=true

[aws:elasticbeanstalk:sns:topics]
Notification Endpoint=
Notification Protocol=email

[aws:rds:dbinstance]
DBDeletionPolicy=Snapshot
DBEngine=mysql
DBInstanceClass=db.t1.micro
DBSnapshotIdentifier=
DBUser=ebroot

解决该问题的用户删除了某些行,然后执行了“eb start”。我删除了原始用户说他们删除的相同行,但是当我“开始”它时,我又遇到了同样的问题。

如果有人可以帮助我,那就太棒了!

【问题讨论】:

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


【解决方案1】:

我昨天一整天都遇到这个问题,我使用的是 ubuntu 13.10。 我还尝试删除 .ebextensions 下的选项文件,但无济于事。 我相信最终解决了这个问题的是 ~/mysite/requirements.txt 在我全部设置并完成eb initeb start 之后,我再次检查了这些值是什么,并注意到它们与教程开头提到的http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_Python_django.html 不同。 当我在 WSGIPath 问题期间检查时,该文件缺少 MySQL 行,我只是添加了以下行:

MySQL-python==1.2.3

然后提交所有更改并且它工作了。

如果这对您不起作用,以下是 .config 文件设置和目录结构。

我在 ~/mysite/.ebextensions 下的 .config 文件与教程中的完全一样,减去密钥和访问密钥,您需要用自己的替换:

container_commands:
  01_syncdb:    
    command: "django-admin.py syncdb --noinput"
    leader_only: true

option_settings:
  - namespace: aws:elasticbeanstalk:container:python
    option_name: WSGIPath
    value: mysite/wsgi.py
  - option_name: DJANGO_SETTINGS_MODULE
    value: mysite.settings
  - option_name: AWS_SECRET_KEY
    value: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
  - option_name: AWS_ACCESS_KEY_ID
    value: AKIAIOSFODNN7EXAMPLE

我的要求.txt:

Django==1.4.1
MySQL-python==1.2.3
argparse==1.2.1
wsgiref==0.1.2

还有我的树形结构。这从~/ 开始,所以如果我要这样做

  • cd ~/
  • tree -a mysite

你应该得到以下输出,包括.git下的一堆目录(我删除了它们,因为有很多):

mysite
├── .ebextensions
│   └── myapp.config
├── .elasticbeanstalk
│   ├── config
│   └── optionsettings.mysite-env
├── .git
├── .gitignore
├── manage.py
├── mysite
│   ├── __init__.py
│   ├── __init__.pyc
│   ├── settings.py
│   ├── settings.pyc
│   ├── urls.py
│   ├── wsgi.py
│   └── wsgi.pyc
└── requirements.txt

【讨论】:

  • 抱歉回复晚了,经过一番修修补补,我设法把它们拼凑起来。虽然我的问题有相同的症状,但真正的问题还有更多潜在的问题。
猜你喜欢
  • 2020-05-14
  • 2017-05-15
  • 1970-01-01
  • 2020-04-21
  • 1970-01-01
  • 1970-01-01
  • 2022-10-25
  • 2014-05-20
  • 2020-09-29
相关资源
最近更新 更多