Django Elastic Beanstalk Deploy显示404

And*_*rew 11 python django amazon-web-services amazon-elastic-beanstalk

我正在尝试将我的第一个Django应用程序部署到Elastic Beanstalk.通过命令行工具成功创建了Beanstalk,我从我的Mercurial通过ZIP上传,似乎工作得很好.但是在尝试访问它时我得到了404.

Elastic Beanstalk HTTP错误(日志很大,我可以解析更多,但我只看到这个错误)

[Fri Jan 03 18:08:26 2014] [error] [client 127.0.0.1] Target WSGI script not found or unable to stat: /opt/python/current/app/application.py

Django应用程序的WSGI设置

wsgi.py

import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "company.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
Run Code Online (Sandbox Code Playgroud)

settings.py

WSGI_APPLICATION = 'company.wsgi.application'
Run Code Online (Sandbox Code Playgroud)

这在当地很好用,我确信我只是不理解我应该做的事情.

请帮忙!

文件夹结构:

 /opt/python/current/app/

  - company
     - static
     - templates
     - wsgi.py
     - settings.py
     - __init__.py
     - urls.py

  - webapp
     - templates
  - manage.py
  - requirements.txt
Run Code Online (Sandbox Code Playgroud)

kuk*_*ido 6

AWS Elastic Beanstalk的默认配置设置WSGIPathapplication.py,您需要使用映射重命名文件到application.py或将环境配置为指向映射脚本.

详细信息可在AWS Elastic Beanstalk Python容器选项中找到:选项值

您可以使用管理控制台进行设置

在此输入图像描述

或者使用.ebextensions option_settings

注意:应该是相对路径.

  • 在EB管理控制台中,单击齿轮以编辑软件配置后,没有要编辑的WSGIPATH,在静态文件下添加它并且它工作:不那么直观. (2认同)