python-3.x - 在 heroku 上托管 django 应用程序时遇到的问题
问题描述
嘿,我刚刚在 Heroku 上托管了我的 Django 应用程序,我遇到了两个问题:
"Failed to detect app matching no buildpack"
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=
解决方案
如果有任何进程正在运行,请检查 heroku ps: $ heroku ps 那没有返回任何内容。
因此,在网络和 stackexchange 上进行了一些搜索,发现了一个叫做 Procfile 的东西——我以前从未使用过它。显然,heroku 会获取有关自动运行的信息,但有时它会出现问题。将信息放入 Procfile 更安全。这个问题似乎在一年多的时间里反复出现,但 Heroku 的人还没有修复它或修复他们的教程,这就是一切开始走下坡路的地方。
现在按照以下步骤为您的安装修复它:
- 在应用程序的根目录(其中有 venv 文件夹)中创建一个名为 Procfile 的文件(区分大小写 - 所以大写 P!)。在 Windows 上,您必须确保 Windows 没有添加 .txt 扩展名。我使用linux,所以它只是'touch Procfile'。
- 编辑文件并为 Django 输入以下详细信息(您需要根据运行它的需要确定其他应用程序): web: python website/manage.py runserver 0.0.0.0:$PORT 注意间距和您需要提供的 IP。如果您错过了最后一部分,它将在 localhost 上运行,您将无法从您的机器连接到该部分。
- git 添加文件并执行 git push heroku master 将此文件推送到服务器。尽管推送说一切都很好,但我们还没有完成。
- 还记得 heroku ps 之前没有给出任何结果吗?因此,现在您需要附加该过程。使用以下命令添加 web dyno: $ heroku ps:scale web=1 缩放 web 进程...完成,现在正在运行 1 现在检查您的网站,它应该可以工作!
推荐阅读
- c++ - 无注册 COM 进程外 EXE
- python - 在既不知道列也不知道行的情况下替换 pandas Dataframe 中的某些值
- openlayers - OpenLayers - 如何向图层添加多个点
- javascript - 使用 jsdom/Jest 进行测试时无法访问图像数据
- azure-functions - ParentId 在升级到 V3 和 .net core 3.1 后在 Azure Function 上消失了
- rust - 是否可以使用类型来访问 Rust 联合的特定字段?
- python - 必须从数组创建所需的输出
- node.js - 动态更新 SetupProxy 目标
- google-play - 如果我的 Google 上传密钥已过期,我需要做什么?
- javascript - js解释器的工作原理