Heroku 服务器中 Procfile 和 Procfile.Windows 之间的区别

Posted

技术标签:

【中文标题】Heroku 服务器中 Procfile 和 Procfile.Windows 之间的区别【英文标题】:Difference between Procfile and Procfile.Windows in heroku servers 【发布时间】:2016-06-05 19:32:50 【问题描述】:

我正在学习如何使用 Heroku 部署 Django 项目。

我注意到这个存储库中有两个文件(教程中的 git):https://github.com/heroku/python-getting-started

Procfile 文件,我明白它的用途。但是,文件 Procfile.windows 是我完全不明白的。

任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

我刚刚开始遇到同样的问题。 我相信一些 django 包,例如gunicorndon't work on Windows.

这就是为什么 Heroku 示例应用程序预先打包了一个不使用 gunicorn 的单独“Procfile.windows”。

要使用它,请执行

heroku local -f Procfile.windows

...现在只是想了解如何将其设为默认值。

【讨论】:

确实如此。天哪,django 配置起来真是太痛苦了。我正在考虑放弃它以支持一些更简单的微服务器。 相信我,我在工作中使用 web sphere,这更痛苦。我怀念过去使用 php 和 Apache 服务器的日子。没有框架嘿嘿谢谢你的回答。【参考方案2】:

Procfile.windows 是 Windows 机器在本地运行应用程序的文件。请按照以下步骤自行尝试:

    manage.py 所在的同一级别创建一个名为 Procfile.windows 的文件。 在文件中添加这个:web: python manage.py runserver 在你的 cmd 中运行:heroku local web -f Procfile.windowsheroku local -f Procfile.windows

此外,您可以按照 Heroku 官方网站 (https://devcenter.heroku.com/articles/deploying-python#build-your-app-and-run-it-locally) 上的步骤进行操作。在我看来,这可能是更好的方法。

【讨论】:

以上是关于Heroku 服务器中 Procfile 和 Procfile.Windows 之间的区别的主要内容,如果未能解决你的问题,请参考以下文章

Heroku Gunicorn Procfile

Procfile 在 Heroku 中声明类型 -> (none)

Heroku中“Procfile声明类型->(无)”的原因是啥?

Heroku 在错误的目录中寻找 Procfile

Heroku procfile“Procfile 中没有定义这样的进程类型 web”错误

即使在 Procfile 中添加了 Heroku 工人 dyno 也没有出现