在AWS弹性Beanstalk上部署Django项目

8
我正在按照这里的教程部署 Django 项目到 AWS 弹性 Beanstalk 上:http://docs.amazonwebservices.com/elasticbeanstalk/latest/dg/create_deploy_Python_django.html
当我在本地测试应用程序时,它可以正常工作,但是当我部署时,出现了 404 错误。查看事件日志,我看到了这个消息:
“运行用户命令时出错:运行 '. /opt/python/ondeck/env && PYTHONPATH=/opt/python/ondeck/app: django-admin.py syncdb --noinput' 时发生错误(rc: 127)/bin/sh: django-admin.py: 找不到命令”
这让我认为该教程缺少有关在服务器上安装 Django 文件或至少配置我的项目以识别 django-admin.py 的部分。我已经在本地机器上安装了 Django,所以它在那里可以正常工作。
我知道弹性 Beanstalk 的 Python 支持是全新的,但是否有人将 Django 部署到它上面呢?
4个回答

2

您是否已经采取了以下步骤?:冻结 requirements.txt 文件。

(djangodev)# pip freeze > requirements.txt

请注意,确保你的 requirements.txt 文件包含以下内容:

Django==1.4.1
MySQL-python==1.2.3

我曾经也遇到过同样的问题,因为我跳过了这一步。一旦我执行了它,添加、提交和推送。就可以正常工作了!


我也想发表一下意见 - 我曾经遇到过完全相同的问题。起初,我跳过了创建环境的步骤,因为我正在处理一些非常简单的步骤。看起来需要一个 requirements.txt 文件和有效的配置。 - Joel B

2

我认为你不需要在.config中放置container_commands,因为此时没有数据库或表。


1

我最近也按照同样的教程操作,结果也类似。

在第6步,当我本地看到默认的django“恭喜”页面呈现时,我按照指示部署到EB上,但却得到了404而不是默认的“恭喜”页面。

我决定将到那一步的代码作为遵循 'django入门教程' 的基础,这使我成功呈现了一个“主页”视图。这实际上是一个更有用的地方。我同意AWS教程存在问题,并在AWS论坛这里发布了帖子。


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接