遵循“在heroku / ceadar上开始使用Django”这封信的指南,最终成功解决了部署应用程序的一些问题
Successfully installed django psycopg2
Cleaning up...
Discovering process types
Procfile declares types -> (none)
Compiled slug size is 8.0MB
Launching... done, v4
http://<watever>.herokuapp.com deployed to Heroku
指南说网络服务器应该启动。但是heroku ps显示没有进程,显然页面没有加载。
heroku日志的尾巴:
2012-01-19T10:28:29+00:00 heroku[web.1]: State changed from created to down
2012-01-19T10:28:30+00:00 heroku[web.1]: State changed from down to created
2012-01-19T10:28:32+00:00 heroku[slugc]: Slug compilation finished
2012-01-19T10:30:32+00:00 heroku[router]: Error H99 (Platform error) -> GET <watever>
.herokuapp.com/ dyno= queue= wait= service= status=503 bytes=
(venv) C:\Python27\facebook\venv\myapp>heroku ps
Process State Command
------- ----- -------
我应该明确启动网络服务器吗?我在做错了吗?
答案 0 :(得分:9)
我用于django / heroku实例的Procfile如下所示:
web: python hellodjango/manage.py runserver "0.0.0.0:$PORT"
正如已经提到的,如果你没有Procfile并且你正在使用默认的网络服务器,它基本上会做上面的事情 - 但是尝试明确。您可以尝试从heroku控制台运行它,以查看它获得的错误(如果有):
heroku run python hellodjango/manage.py runserver
答案 1 :(得分:3)
我遇到了同样的问题,虽然我不知道是否出于同样的原因。
从教程执行此命令时:
django-admin.py startproject hellodjango。
我将应用程序的名称更改为其他名称(当然不仅仅是在此命令中),但我省略了&#39;。&#39;在末尾。这导致脚本在同名目录中创建一个应用程序,而不是在我所在的目录中,这导致Heroku的服务器端脚本无法将应用程序检测为Django应用程序。
答案 2 :(得分:3)
我也遇到了这个问题。通过运行...
确保您的Procfile看起来正确$heroku run bash
打开一个可以访问heroku的终端。然后......
$cat Procfile
这将显示Procfile中的实际内容。我的第一行(在我的本地文件中)由于某种原因没有被阅读。然后,我的文件附加了一个“}”。我在Mac上的TextEdit中创建我的文件 - 应该使用SublimeText或其他文本编辑器。你也可以打电话
$echo "web: gunicorn hello:app" >> Procfile
或者你想要你的Procfile说什么。这会将您的Procfile更改为您回显的任何内容。
答案 3 :(得分:1)
我已经在Heroku上与Django挣扎了一段时间,并决定整合一个非常固执但功能正常的引导程序。我希望它可以帮助其他人:https://github.com/callmephilip/django-heroku-bootstrap
答案 4 :(得分:0)
关键在于:
Procfile declares types -> (none)
Heroku不知道如何运行您的应用程序。我认为python hellodjango/manage.py runserver
适合你本地?如果是这样,Heroku应该可以选择这个。
同时检查您的repo根目录中是否有requirements.txt
,以及您的某个项目子目录中有settings.py
。