如何将Dynos分配到Heroku上的Flask应用程序



我有一个非常简单、可工作的Flask应用程序,托管在这个GitHub存储库中。我正在尝试使用"部署"选项卡下的"连接到GitHub的应用程序"功能将其部署到Heroku上(我有一个免费帐户(。

当我在"活动"选项卡下查看时,我所有的构建和部署都是成功的。然而,当我转到"打开应用程序"时,我会收到一个"应用程序错误",说

应用程序中发生错误,无法提供您的页面。如果您是应用程序所有者,请查看日志以了解详细信息。您可以使用命令从Heroku CLI执行此操作

当我检查日志时,我看到行

2020-03-23T06:10:32.045386+00:00 heroku[router]: at=error code=H14 desc="No web processes running"

从搜索这个错误,似乎我没有dynos分配给这个应用程序。我在终端和我的Procfile中尝试了几种不同的方法来实现这一点,我不确定它是否制作正确。

这是我的Procfile.txt

web: gunicorn wsgi:app
ps:scale web=1

我需要做些什么才能启动并运行此应用程序?

这是我的Procfile.txt

此文件只能称为Procfile,没有扩展名。重命名它。

另外,从Procfile中删除ps:scale行。这是一个Heroku CLI命令;它不属于那里:

web: gunicorn wsgi:app

我通过将gunicorn添加到我的requirements.txt文件中来实现它:

catboost==0.22
pandas==1.0.3
numpy==1.18.2
Flask==1.1.1
gunicorn==20.0.4

并将我的Procfile更改为:

web: gunicorn app:app

好吧,在沮丧了几个星期之后,我终于发现我的问题出在哪里了。和你一样,我有一个免费版本的Heroku。因此,首先要确保您有自己的要求以及Procfile文件设置。

只要在你的Procfile上有这一行,然后部署应用程序。

web:gunicorn wsgi:app

如果您仍然收到错误。在您的终端上运行

heroku ps

如果您收到一条消息,上面写着";没有dynos。。。(您的heroku应用程序名称(">

然后在网上访问heroku。转到您的项目,在"资源"选项卡下,您将看到此按钮。检查它是否打开。(在图中,我打开了(。https://i.stack.imgur.com/ivN7t.jpg

因此,基本上,尽管你做得很好,但该应用程序可能不起作用,因为你忘记打开Heroku应用程序的dyno。如果你有任何问题或它是否适合你,请告诉我。

最新更新