我想在heroku中托管的rails应用程序中使用unicorn。我跟着heroku https://devcenter.heroku.com/articles/rails-unicorn。但似乎heroku选择'瘦'网络服务器而不是'独角兽'。下面是我的heroku仪表板的屏幕截图。
从这个daskboard我确信heroku知道我的Procfile,但是当我运行
时heroku ps logs --app vamos-test
我有以下日志
=== run: one-off dyno
run.1: up for 5m: `bash`
=== web: `bundle exec thin start -p $PORT`
web.1: created for 30s
从这些日志中我假设'瘦'是我的应用服务器。
我还尝试了一些命令来修复问题:
heroku ps:scale web=1 --app vamos-test
heroku ps:restart --app vamos-test
但我仍然得到与上面相同的日志。
这是我的config / unicorn.rb文件
#config/unicorn.rb
worker_processes Integer(ENV["WEB_CONCURRENCY"] || 3)
timeout 15
preload_app true
before_fork do |server, worker|
Signal.trap 'TERM' do
puts 'Unicorn master intercepting TERM and sending myself QUIT instead'
Process.kill 'QUIT', Process.pid
end
defined?(ActiveRecord::Base) and
ActiveRecord::Base.connection.disconnect!
end
after_fork do |server, worker|
Signal.trap 'TERM' do
puts 'Unicorn worker intercepting TERM and doing nothing. Wait for master to send QUIT'
end
defined?(ActiveRecord::Base) and ActiveRecord::Base.establish_connection
end
这里是我的Procfile
#config/unicorn.rb
web: bundle exec unicorn -p $PORT -c ./config/unicorn.rb
和unicorn gem正确包含在Gemfile中。
我错过了什么吗?请帮忙