Rails 5和Heroku - 我应该配置一个Procfile

时间:2017-05-09 17:41:34

标签: ruby-on-rails heroku ruby-on-rails-5

我读过这篇文章,但它没有谈论Rails 5。

https://devcenter.heroku.com/articles/ruby-default-web-server

与heroku-cli的以下警告有关。

WARNING:
No Procfile detected, using the default web server.
We recommend explicitly declaring how to boot your server process via a Procfile.

我关注表演,但我读到了我的表演 Heroku上的Puma Server使用5个线程,但是没有关于worker的信息,我想知道是否应该使用Rails 5从Deploying Rails Application with Puma进行此设置。

May 09 10:35:45 growstartups app/web.1: => Booting Puma 
May 09 10:35:45 growstartups app/web.1: => Rails 5.0.2 application starting in production on http://0.0.0.0:21348 
May 09 10:35:45 growstartups app/web.1: => Run `rails server -h` for more startup options 
May 09 10:35:45 growstartups app/web.1: Puma starting in single mode... 
May 09 10:35:45 growstartups app/web.1: * Version 3.8.2 (ruby 2.3.3-p222), codename: Sassy Salamander 
May 09 10:35:45 growstartups app/web.1: * Min threads: 5, max threads: 5 
May 09 10:35:45 growstartups app/web.1: * Environment: production 
May 09 10:35:45 growstartups app/web.1: * Listening on tcp://0.0.0.0:21348 

非常感谢 最好的祝福 Fabrizio Bertoglio

1 个答案:

答案 0 :(得分:1)

我将删除puma.rb配置文件中的注释

workers ENV.fetch("WEB_CONCURRENCY") { 2 }
preload_app!
 on_worker_boot do
   ActiveRecord::Base.establish_connection if defined?(ActiveRecord)
end
  

我希望此设置仅适用于制作。

How do I use puma's configuration file?

听到我找到了解决方案。所以我在config/puma/production.rb中创建了一个单独的文件,其中包含:

environment ENV.fetch("RAILS_ENV") { "production" }

推送到heroku,它的工作原理。当我调试时,我不想在开发中使用工作人员。

由于 的Fabrizio