我正在尝试将我的第一个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()
settings.py
WSGI_APPLICATION = 'company.wsgi.application'
这在当地很好用,我确信我只是不理解我应该做的事情。
请帮忙!
文件夹结构:
/opt/python/current/app/
- company
- static
- templates
- wsgi.py
- settings.py
- __init__.py
- urls.py
- webapp
- templates
- manage.py
- requirements.txt
答案 0 :(得分:6)
AWS Elastic Beanstalk的默认配置集WSGIPath
为application.py
,您需要使用映射重命名文件到application.py或将环境配置为指向映射脚本。
详细信息可在AWS Elastic Beanstalk Python容器选项中找到:Option Values
您可以使用管理控制台
进行设置
或使用.ebextensions
option_settings
NB:它应该是相对路径。