【问题标题】:Problems getting while hosting django app on heroku在 heroku 上托管 django 应用程序时遇到的问题
【发布时间】:2021-12-27 06:05:54
【问题描述】:

嘿,我刚刚在 Heroku 上托管了我的 Django 应用程序,我遇到了两个问题:

  1. "Failed to detect app matching no buildpack"
  2. Procfile declares types -> (none)

当我运行heroku logs --tail 我明白了

2013-08-31T21:00:25.085053+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path=/favicon.ico host=cristowip.herokuapp.com fwd="189.137.81.39" dyno= connect= service= status=503 bytes=

【问题讨论】:

  • 分享你的 Procfile 和目录结构。
  • 嘿@Sumithran 谢谢你的回复,但我已经弄清楚了我的问题并主持了答案..
  • 太好了,也将您的答案标记为已接受。
  • @Sumithran yahh 我试着这样做,但它说我可以在两天后完成

标签: python-3.x django heroku heroku-cli


【解决方案1】:

如果有任何进程正在运行,请使用 heroku ps 检查: $ heroku ps 那没有返回任何东西。

因此,通过网络和 stackexchange 进行了一些搜索,发现了一个叫做 Procfile 的东西——我以前从未使用过它。显然,heroku 会获取有关自动运行的信息,但有时它会出现问题。将信息放入 Procfile 更安全。这个问题似乎在一年多的时间里反复出现,但 Heroku 的人还没有修复它或修复他们的教程,这就是一切开始走下坡路的地方。

现在按照以下步骤为您的安装修复它:

  1. 在应用程序的根目录(其中有 venv 文件夹)中创建一个名为 Procfile 的文件(区分大小写 - 所以大写 P!)。在 Windows 上,您必须确保 Windows 不添加 .txt 扩展名。我使用的是 linux,所以它只是“触摸 Procfile”。
  2. 编辑文件并为 Django 输入以下详细信息(您需要根据运行它的需要确定其他应用程序): 网页:python 网站/manage.py 运行服务器 0.0.0.0:$PORT 请注意您需要提供的间距和 IP。如果您错过了最后一部分,它将在 localhost 上运行,您将无法从您的计算机连接到该部分。
  3. git add 文件并执行 git push heroku master 将这个文件推送到服务器。尽管推送显示一切正常,但我们还没有完成。
  4. 还记得 Heroku ps 之前没有给出任何结果吗?因此,现在您需要附加该过程。使用以下命令执行此操作以添加网络测功机: $ heroku ps:scale web=1 扩展 Web 进程...完成,现在正在运行 1 现在检查您的网站,它应该可以正常工作!

【讨论】:

    【解决方案2】:

    1.对于这个Failed to detect app matching no buildpack

    找到您正在使用的平台并相应地制作构建包

    • Java:pom.xml

    • Ruby:Gemfile

    • Node.js:package.json

    • Python:requirements.txt/setup.py/Pipfile

    • PHP:composer.json / index.p

    例如,如果您正在使用 Django 或烧瓶,请在您的根目录中创建一个 buildpack 文件夹命名为requirements.txt

    2。 Procfile declares types -> (none) 执行以下操作来解决它

    1. 首先删除您的 Procfile,然后将里面的内容复制到剪贴板中
    2. 然后在你的根目录..文件夹中输入以下命令
    3. git init
    4. git add .
    5. git commit -m "procfile-commit"
    6. git push heroku master
    7. create a new Procfile and paste the content from your clipboard
    8. Then again type these following command
    9. git init
    10. git add .
    11. git commit -m "procfile-commit"
    12. git push heroku master

    【讨论】:

      猜你喜欢
      • 2019-11-24
      • 1970-01-01
      • 2018-02-15
      • 1970-01-01
      • 1970-01-01
      • 2016-10-05
      • 2017-01-18
      • 1970-01-01
      • 2021-02-10
      相关资源
      最近更新 更多