部署Django到AWS Elastic Beanstalk时出现No module named 'application'错误求助
解决AWS Elastic Beanstalk部署Django出现的"No module named 'application'"错误
核心修复步骤:
修正WSGI路径配置
Elastic Beanstalk需要正确指向Django的wsgi.py文件。在.ebextensions/django.config中添加或修改WSGI路径配置,示例:option_settings: aws:elasticbeanstalk:container:python: WSGIPath: 你的项目目录/wsgi.py路径需为项目根目录到wsgi.py的相对路径(比如项目结构为
myproj/myproj/wsgi.py,则填myproj/wsgi.py)。验证wsgi.py内容
确保wsgi.py里正确导出了application对象,示例代码:import os from django.core.wsgi import get_wsgi_application os.environ.setdefault('DJANGO_SETTINGS_MODULE', '你的项目名.settings') application = get_wsgi_application()注意
DJANGO_SETTINGS_MODULE的值要和你的项目实际settings模块路径一致。核对项目目录结构
确保manage.py位于项目根目录,这是Elastic Beanstalk识别Django项目的关键标识。避免将整个项目嵌套在多余的子目录中。重新部署并排查日志
修改配置后执行eb deploy重新部署,若问题仍存在,可查看/var/log/nginx/error.log获取更详细的nginx转发错误信息,进一步定位问题。
内容的提问来源于stack exchange,提问作者Vaibhav Paliwal
相关产品推荐
相关产品推荐

