Django AWS Elastic Beanstalk WSGIPath 引用了一个不存在的文件
Posted
技术标签:
【中文标题】Django AWS Elastic Beanstalk WSGIPath 引用了一个不存在的文件【英文标题】:Django AWS Elastic Beanstalk WSGIPath refers to a file that does not exist 【发布时间】:2016-08-22 16:09:12 【问题描述】:到目前为止,我已经尝试了所有建议,但似乎没有任何效果。我用 Cookiecutter 创建了一个新的 Django 项目。我可以在本地和通过我的 Docker 机器运行它,但由于某种原因,我无法将它部署到 AWS。我也一直在松散地遵循这个文档:
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-django.html#python-django-configure-for-eb
.ebextensions/django.config
option_settings:
aws:elasticbeanstalk:container:python:
WSGIPath: config/wsgi.py
项目结构
~/project
|-- .ebextensions
|-- `-- django.config
|-- .elasticbeanstalk
|-- `--config.yml
|--config
|-- | ...
|-- | wsgi.py
|-- project
|-- manage.py
当我检查日志时,这是我得到的示例:
Target WSGI script not found or unable to stat: /opt/python/current/app/application.py
当我运行 eb config 时,我得到了这些设置:
aws:elasticbeanstalk:container:python:
NumProcesses: '1'
NumThreads: '15'
StaticFiles: /static/=static/
WSGIPath: application.py
我试过编辑这个,移动 wsgi.py 文件,重命名它,但没有任何效果。我做错了什么?
【问题讨论】:
与我的唯一不同的是文件格式。这是我的文件:github.com/dkarchmer/django-aws-template/blob/master/server/… 但是检查 wsgi.py 和 manage.py 的内容并将它们与我的比较。你总是可以只添加一个 application.py 来代替 感谢@dkarchmer。我的 manage 和 wsgi 和你的差不多。当您说添加 application.py 时,这是否只是意味着复制并粘贴我的 wsgi.py 文件的内容并将它们保存到 application.py 文件中?如果是这样,application.py 文件是否意味着要保存在根目录下? 【参考方案1】:我的问题是我做了代码更改,但我没有提交它们。当我尝试使用eb deploy
部署到弹性beantalk 时,它正在部署引用application.py
而不是myproject/wsgi.py
的旧代码
【讨论】:
以上是关于Django AWS Elastic Beanstalk WSGIPath 引用了一个不存在的文件的主要内容,如果未能解决你的问题,请参考以下文章
Django AWS Elastic Beanstalk 迁移数据库
AWS Elastic BeansTalk Django cronjob 发布请求返回 403 错误
在 AWS Elastic Beanstalk 上设置 Django:未找到 WSGIPath
如何设置运行 Django 的 AWS Elastic Beanstalk Docker 平台?