将 Django 应用程序推送到 Heroku 后,Dynos 字段为空白

Posted

技术标签:

【中文标题】将 Django 应用程序推送到 Heroku 后,Dynos 字段为空白【英文标题】:Dynos field is blank after pushing Django app to Heroku 【发布时间】:2014-01-23 14:13:47 【问题描述】:

编程新手,第一次尝试将 Heroku 用于 Django 应用程序。将其推送到 Heroku 后,Dynos 字段为空白。我希望看到我的 procfile: web: python manage.py runserver 0.0.0.0:$PORT --noreload

当然,当我尝试在 Heroku 上打开应用程序时,我得到:应用程序发生错误,无法提供您的页面。请稍后再试。

如果您是应用程序所有者,请查看您的日志以了解详细信息

这可能是因为我的 procfile 上没有扩展名吗?

我的 Procfile 应该只是我在文本编辑器中创建的文件,对吧?

这是日志:

2014-01-06T07:34:17.321925+00:00 heroku[路由器]: at=error code=H14 desc="没有运行 Web 进程" 方法=GET 路径=/ 主机=aqueous-dawn-4712.herokuapp.com fwd="98.232.45.58" dyno= connect= 服务=状态=503字节=

2014-01-06T07:34:17.778360+00:00 heroku[路由器]: at=error code=H14 desc="没有运行 Web 进程" 方法=GET 路径=/favicon.ico 主机=aqueous-dawn-4712.herokuapp.com fwd="98.232.45.58" dyno= connect= 服务=状态=503字节=

2014-01-06T07:35:01.608749+00:00 heroku[路由器]: at=error code=H14 desc="没有运行 Web 进程" 方法=GET 路径=/ 主机=aqueous-dawn-4712.herokuapp.com fwd="98.232.45.58" dyno= connect= 服务=状态=503字节=

2014-01-06T07:35:01.868486+00:00 heroku[路由器]: at=error code=H14 desc="没有运行 Web 进程" 方法=GET 路径=/favicon.ico 主机=aqueous-dawn-4712.herokuapp.com fwd="98.232.45.58" dyno= connect= 服务=状态=503字节=

2014-01-06T07:46:57.862560+00:00 heroku[路由器]: at=error code=H14 desc="没有运行 Web 进程" 方法=GET 路径=/ 主机=aqueous-dawn-4712.herokuapp.com fwd="98.232.45.58" dyno= connect= 服务=状态=503字节=

2014-01-06T07:46:58.114270+00:00 heroku[路由器]: at=error code=H14 desc="没有运行 Web 进程" 方法=GET 路径=/favicon.ico 主机=aqueous-dawn-4712.herokuapp.com fwd="98.232.45.58" dyno= connect= 服务=状态=503字节=

【问题讨论】:

【参考方案1】:

会不会是你忘记heroku ps:scale web=1了?

如果没有,您的 Procfile 会丢失吗?您的 Procfile 应命名为 Procfile(无扩展名,大写 P),并放置在项目的根目录中。您可以通过heroku run bash 进行检查,然后更改您的应用目录和cat Profile

最后,如果情况已经如此,那么您的应用程序会无法启动并放弃吗?日志中是否还有其他错误?

【讨论】:

heroku ps:scale web=1 返回 heroku: command not found。我的文件没有扩展名,并且大写。我日志中的错误是 H14 错误。我想重新做我的 procfile 并将其推送到 Heroku 看看是否有任何改变。创建新文件后,如何将其发送到 Heroku 以在 Heroku 上更新我的应用程序?【参考方案2】:

使用日志中的code=H14,您可以在以下位置检查错误:https://devcenter.heroku.com/articles/error-codes#h14-no-web-dynos-running

H14 - 没有运行网络测功机 这很可能是将您的 web dynos 缩小到 0 dynos 的结果。要修复它,请将您的网络 dynos 扩展到 1 个或多个 dynos

你可能没有在git push heroku master之后输入heroku ps:scale web=1

【讨论】:

以上是关于将 Django 应用程序推送到 Heroku 后,Dynos 字段为空白的主要内容,如果未能解决你的问题,请参考以下文章

将 Django 项目推送到 Heroku 时出错

每当我尝试将我的 django 应用程序推送到 Heroku 时,我的日志文件中都会出现以下错误,请协助我应该如何解决它,

将应用程序部署到 Heroku 后无法推送到 Github

防止 Django SQLite db 在推送到 Heroku 时被覆盖

如何更新堆栈并将克隆的应用程序推送到 Heroku [重复]

将预先存在的 django git repo 部署到 heroku