我正在遵循在AWS弹性beanstalk上部署django项目的教程: http://docs.amazonwebservices.com/elasticbeanstalk/latest/dg/create_deploy_Python_django.html
当我在本地测试时,我的应用程序正常工作,但是当我部署时,我收到404错误。查看事件日志,我看到以下消息:
Error running user's commands : An error occurred running '. /opt/python/ondeck/env && PYTHONPATH=/opt/python/ondeck/app: django-admin.py syncdb --noinput' (rc: 127) /bin/sh: django-admin.py: command not found
这让我相信教程缺少关于在服务器上安装django文件或至少配置我的项目以识别django-admin.py的部分内容。我在我的本地机器上安装了django,因此可以在那里工作。
我知道python支持对于弹性beanstalk来说是全新的,但有没有人为它部署django?
答案 0 :(得分:2)
我相信你不需要将container_commands放在.config中,因为此时没有数据库或表。
答案 1 :(得分:2)
你做了这个步骤吗?:冻结requirements.txt文件。
(djangodev)# pip freeze > requirements.txt
请注意 确保您的requirements.txt文件包含以下内容:
Django==1.4.1
MySQL-python==1.2.3
我遇到了同样的问题,因为我跳过了它。一旦我这样做,添加,提交和推送。它有效!
答案 2 :(得分:1)
我最近跟着同一个教程,得到了类似的结果。
在第6步,看到本地默认的django'wanging'页面呈现后,我按照指示部署到EB并获得了404而不是默认的'恭喜'页面。
我决定在此之前使用代码作为遵循“getting started with django tutorial”的基础,这使我成功呈现了“主页”视图。无论如何,这是一个更有用的地方。我确实同意AWS教程有问题并发布到AWS论坛here。
答案 3 :(得分:1)
如果可以,您应该尝试访问日志文件;它可能会让你更好地了解正在发生的事情。这是一个可能有用的链接:
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.loggingS3.title.html
答案 4 :(得分:0)
我问了一个类似的问题,我自己回答了。这是链接 Deploying Django with Docker on Amazon Elastic Beanstalk