我刚刚尝试编写一个托管在AWS Elastic Beanstalk上的简单Django应用程序。我可以在localhost上成功运行服务器。但是,当我在EB上部署它时,它失败了500错误。
这是我的项目树
.
├── README.md
├── db.sqlite3
├── djangosite
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── intro
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── migrations
│ │ └── __init__.py
│ ├── models.py
│ ├── tests.py
│ └── views.py
├── manage.py
├── requirement.txt
└── templates
└── index.html
我没有在日志中找到正确时间的日志。通常500表示我的代码可能有问题。但如果我在本地启动服务器,它运行良好
$ python manage.py runserver
我试图让我们eb ssh
登录该实例,发现我的代码所在的django
中没有/opt/current/app
。
但我真的将Django == 1.9.8添加到requirement.txt
。似乎eb没有安装django
。它也不在/opt/python/run/venv/lib/python2.7/site-packages/
。
答案 0 :(得分:1)
(我没有足够的声誉发表评论)
我假设您在生产服务器上启动了应用程序(您不会提及是否存在)。
您是否在生产服务器上更改了Debug = False?然后未捕获的异常导致500响应。在开发(本地)中使用Debug = True时,会返回Debug屏幕。