Sample Unicorn configuration file

```ruby # See http://unicorn.bogomips.org/Unicorn/Configurator.html for complete documentation app_name = "xxx" rack_env = (ENV['RACK_ENV'] || :production).to_sym puts "Starting app in #{rack_env} mode..." if rack_env == :production working_directory "/var/www/#{app_name}/current" worker_processes 4 else working_directory "." worker_processes 1 end listen "/tmp/#{app_name}.sock", :backlog => 64 listen 5000, :tcp_nopush => true pid "/tmp/#{app_name}.pid" # Set this to true with Rails preload_app false # 10 second timeout 10 stderr_path "./log/unicorn.stderr.log" stdout_path "./log/unicorn.stdout.log" before_fork do |server, worker| # there's no need for the master process to hold a db connection #defined?(ActiveRecord::Base) and # ActiveRecord::Base.connection.disconnect! old_pid = "#{server.config[:pid]}.oldbin" if File.exists?(old_pid) && server.pid != old_pid begin Process.kill("QUIT", File.read(old_pid).to_i) rescue Errno::ENOENT, Errno::ESRCH # someone else did our job for us end end end after_fork do |server, worker| # the following is *required* for Rails + "preload_app true" #defined?(ActiveRecord::Base) and # ActiveRecord::Base.establish_connection # Save pids for monit's sake child_pid = server.config[:pid].sub('.pid', ".#{worker.nr}.pid") system("echo #{Process.pid} > #{child_pid}") end ```