我有一个自制的 Sinatra 应用程序,我打算使用 Heroku 来托管它。
我在开发中使用 foreman 和 shotgun,并使用以下 Procfile:
web: shotgun config.ru -s thin -o 0.0.0.0 -p $PORT -E $RACK_ENV
它非常适合开发和生产。但问题是,我不想在生产中使用霰弹枪,因为它太慢了。
我们可以为开发和生产使用单独的 Procfile 配置吗?
最佳答案
您可以使用两个 Procfiles
(例如 Procfile
和 Procfile.dev
)并使用 foreman
s -f
option选择一个不同的在开发中使用:
在 dev 中(Procfile.dev
包含您的 shotgun
Web 进程):
foreman start -f Procfile.dev
在生产中,foreman start
将选取正常的 Procfile
。
或者,您可以使用脚本在应用程序中创建一个 bin
目录,以根据 $RACK_ENV
启动相应的 Web 服务器(我在 comment made by the creator of Foreman 中找到了这个想法) ,所以值得考虑)。
关于heroku - Foreman:在开发和生产中使用不同的Procfile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11592798/