Unicornの設定ファイル。
今日で夏休みも終わりなんで、Unicornの設定について調べてました。
結果としては、よくわからなかったです。はい...
http://d.hatena.ne.jp/milk1000cc/20100804/1280893810
http://yuuki.hatenablog.com/entry/sakura01
ここら辺をみつつ
http://unicorn.bogomips.org/examples/unicorn.conf.rb
公式のこれと見比べたりしたけども、
結局似たり寄ったり(ほぼ同じ)な感じになってしまった。
app_name = 'hoge' #ワーカーの数 worker_processes 2 #capistrano用の RAILS_ROOT working_directory "path/to/#{app_name}" #ソケット # IP : PORTの形か、socketへのパスを与える。 listen "tmp/unicorn_of_#{app_name}.sock" # マスタープロセスのpidファイルのパス? pid "tmp/unicorn_#{app_name}.pid" #ログ stderr_path File.expand_path('log/unicorn.log', ENV['RAILS_ROOT']) stdout_path File.expand_path('log/unicorn.log', ENV['RAILS_ROOT']) #いまいちわからん preload_app true #masterがworkerを生む前によばれる。 before_fork do |server, worker| defined?(ActiveRecord::Base) and ActiveRecord::Base.connection.disconnect! old_pid = "#{ server.config[:pid] }.oldbin" unless old_pid == server.pid begin Process.kill :QUIT, File.read(old_pid).to_i rescue Errno::ENOENT, Errno::ESRCH end end end #ワーカーのfork後?に呼ばれる after_fork do |server, worker| defined?(ActiveRecord::Base) and ActiveRecord::Base.establish_connection end
unicorn_rails
で起動。デフォルトでポートは 8080 になってる。
一応アクセスできた。
最後に
Unicornの公式みたりしたんですが、いまいちに何してるのかわからなくて気持ちが悪いです。
特に、 preload_app の部分。
これ以外にもたくさんあるので、公式サイトみてください。
英語の理解力が乏しいのでこういう時苦しい。
ぼけっと知ってる場合じゃないですね。