我正在尝试将我的第一个 Django 应用程序部署到 Elastic Beanstalk。 Beanstalk 通过命令行工具成功创建,我通过 ZIP 从我的 Mercurial 上传,似乎工作得很好。但是我在尝试访问它时收到 404。
Elastic Beanstalk HTTP 错误(日志很大,我可以解析更多,但我只看到这个错误)
[Fri Jan 03 18:08:26 2014] [error] [client 127.0.0.1] 目标 WSGI 脚本未找到或无法统计:/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()
设置.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
最佳答案
AWS Elastic Beanstalk 的默认配置将 WSGIPath
设置为 application.py
,您需要将映射到 application.py 的文件重命名或配置环境以指向您的映射脚本。
详细信息可以在 AWS Elastic Beanstalk Python 容器选项中找到:Option Values
可以通过管理控制台设置
或使用 .ebextensions
option_settings
注意:应该是相对路径。
关于python - Django Elastic Beanstalk 部署显示 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20910461/