Arn*_*met 58 rack heroku sinatra shotgun foreman
我有一个自制的Sinatra应用程序,我打算使用Heroku来托管它.
我在开发中使用foreman和shotgun,使用以下Procfile:
web: shotgun config.ru -s thin -o 0.0.0.0 -p $PORT -E $RACK_ENV
Run Code Online (Sandbox Code Playgroud)
它适用于开发和生产.但事实是,我不想在生产中使用霰弹枪,因为它太慢了.
mat*_*att 133
您可以使用两个Procfiles
(例如Procfile
和Procfile.dev
)并使用foreman
s -f
选项来选择要在dev中使用的另一个:
在开发中(Procfile.dev
包含您的shotgun
Web进程):
foreman start -f Procfile.dev
Run Code Online (Sandbox Code Playgroud)
在生产中,foreman start
会恢复正常Procfile
.
或者,您可以bin
在应用程序中使用脚本创建一个目录,以启动相应的Web服务器(取决于$RACK_ENV
我在Foreman的创建者发表的评论中找到的想法,因此值得考虑).
我认为,@ sharagoz对所选答案的评论是最好的选择,它允许您在foreman start
不添加其他参数的情况下仍然使用,并且将Procfile与Heroku分开。
要避免使用-f Procfile.dev参数,可以在其中创建一个.foreman文件
procfile: Procfile.dev
– Sharagoz
在我的应用程序根目录中,我创建了一个.foreman
文件,并按照注释说明
。领班
procfile: Procfile.dev
Run Code Online (Sandbox Code Playgroud)
程序文件
web: bundle exec puma -C config/puma.rb
Run Code Online (Sandbox Code Playgroud)
Procfile.dev
web: bundle exec puma -C config/puma.rb
webpacker: ./bin/webpack-dev-server
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
16458 次 |
最近记录: |