ruby 和用于网络应用程序的 heroku procfile

ruby and heroku procfile for web app

我希望完全理解我在此处找到的有关堆栈溢出的 Procfile 解决方案。本质上,我不介意复制粘贴代码,但我也想理解它。非常欢迎任何其他资源!

我已经在下面进一步复制了我的 Procfile(一行),并且我还对我想了解的关键组件进行了编号。

web: bundle exec ruby -S puma -t 5:5 -p %PORT% -e development

(1)  (2)                 (3)  (4)(5)    (6)       (7)

Heroku 对第 (1) 和 (2) 部分的解释如下:

<process type>: <command>

第 (3) 部分是要使用的 Web 服务器,在本例中是 puma(及其线程)

但是第 (4) 部分:-t、(5):5:5、(6):%PORT% 和 (7):开发让我感到难过。感谢您的帮助!

第 4 部分和第 5 部分属于同一部分 (-t 5:5),并指定 Puma 的 thread pool。这些数字是 运行 的最小和最大线程数,因此在您的情况下,两者都设置为 5。

6:我不完全确定这有什么令人困惑的地方,但这是您的应用程序服务器 运行 所在的端口。 Heroku 在您的应用程序服务器前面有自己的 routing/proxying 基础设施。

7:应用 运行 所在的 Rails 环境。在您的特定情况下,作者希望 运行 它处于 development 模式,而不是标准 production.