herokuでRailsをUnicornに乗せる設定
Procfileを作ってgit push してあげればよいです。
Procfileが読み込まれているかどうかは、herokuの管理画面で確認できます。
/Procfile
1
web: bundle exec unicorn -p $PORT -c ./config/unicorn_production.rb
/config/unicorn_production.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#######################################
# For Production in heroku
#######################################
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
あとは普通にデプロイすれば、Unicornで動く。
Procfileが読み込まれているかどうかは、herokuの管理画面で確認できる。