Heroku,Django app在启动时崩溃,“不是有效的端口号”

时间:2013-01-18 07:08:58

标签: django heroku

我正在尝试在Heroku上运行我的第一个Django强大的应用程序。我一直关注this guide。应用程序正常运行:

python manage.py runserver

当我提交任何更改,然后尝试将其推送到Heroku时,一切似乎都没问题,直到我访问heroku URL。我收到了“应用程序错误”页面。进一步了解:

heroku logs

我收到了一堆看似相同的错误消息:

.......
2013-01-18T05:28:29+00:00 heroku[slugc]: Slug compilation finished
2013-01-18T05:28:29+00:00 app[web.1]: Error: "0.0.0.0:" is not a valid port number        or address:port pair.
2013-01-18T05:28:31+00:00 heroku[web.1]: Process exited with status 1
2013-01-18T05:28:32+00:00 heroku[web.1]: Starting process with command `python      manage.py runserver 0.0.0.0: --noreload`
2013-01-18T05:28:33+00:00 app[web.1]: Error: "0.0.0.0:" is not a valid port number or     address:port pair.

如果我做一个领班开始:

22:39:26 web.1  | started with pid 2499
22:39:26 web.1  | Error: "0.0.0.0:" is not a valid port number or address:port pair.
22:39:26 web.1  | exited with code 1
22:39:26 system | sending SIGTERM to all processes
SIGTERM received

我查看了一个similar question,但我似乎已经在requirements.txt文件中提供了所有内容。

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

您的Procfile看起来很奇怪。检查您的Procfile,然后按照Heroku说明设置gunicorn(建议用于制作),或者在您的80中添加一个端口号 - 大概是Procfile,因为:< / p>

python manage.py runserver 0.0.0.0:80 --noreload

答案 1 :(得分:0)

使用 Heroku 和 Docker 我遇到了同样的错误,但我使用的是 $PORT 环境变量。

由于某种原因,端口号有一个反斜杠 (\),如 \80。所以我不得不删除它:

python manage.py runserver 0.0.0.0:${PORT##\\}

为了将来参考,以防有人像我一样偶然发现这个问题,希望这会有所帮助。