我已经看够了它的外观,我必须更多地了解它。我看到 Heroku 有一个 procfile,我假设它是关于在部署到 heroku 之后运行这个 procfile。
我还看到了术语基于 procfiled 的应用程序。那么实际上 Procfile 是 Heroku 特有的还是别的什么?
Foreman gem使用 Procfile来运行具有用户定义的名称和选项的服务。Heroku使用它来配置服务以在 dyno 中运行,但任何愿意调用事物的人都可以使用它,foreman start <named_process>
而不是他们以前这样做。
我经常在开发中使用它来为我的 Rails 服务器在 unicorn 和 Thin 之间进行选择。例如:
thin: bundle exec thin start -e development -p 8080
unicorn: bundle exec unicorn -c config/unicorn.vagrant.rb
使用这种配置,我可以foreman start thin
从foreman start unicorn
. 您的里程数和宝石的实用性肯定会有所不同。
关于 Heroku,这里有一个链接,它解释了 Procfile 的内容。
本质上,它是包含在根目录中的一个文件,它告诉 Heroku 应该执行什么命令来启动您的应用程序。在链接的示例中,该行告诉 heroku 您将运行一个 Web 堆栈,并且您将启动一个名为 index.js 的 node.js 服务器。一旦节点服务器启动,它就负责响应和处理 HTML 请求。