unicorn_rails nginx sinatra&rails複数アプリをフォルダー毎 config.ru

config.ruをdev時でもprod時でも動くように設定
http://www.mk-mode.com/octopress/2013/01/22/ruby-on-rails-nginx-unicorn/
http://higelog.brassworks.jp/?p=1760

# This file is used by Rack-based servers to start the application.

require ::File.expand_path('../config/environment', __FILE__)
if ENV['RAILS_RELATIVE_URL_ROOT']
map ENV['RAILS_RELATIVE_URL_ROOT'] do
run RailsApp::Application
end
else
run RailsApp::Application
end

起動
/apps/rails_app$ rails s (またはruby sinatra_app.rb)
/apps/rails_app$ unicorn_rails -D -E production --path /rails_app -c unicorn.rb
 (または bundle exec unicorn_rails —path /sinatra_app)
停止
kill -QUIT `cat tmp/unicorn.pid`

unicorn unicorn rails 違い
http://unlearned.hatenablog.com/entry/2014/02/28/015554


Nginx
/etc/nginx/nginx.conf
#rails_app
upstream backend-unicorn {
server unix:/home/apps/rails_app/tmp/unicorn.sock;
}

server {
listen 80;
server_name localhost;

location /rails_app/ {
proxy_pass_header Server;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_read_timeout 75; # unicorn設定ファイルのtimeoutも忘れずに
proxy_pass http://backend-unicorn; # upstreamで定義したバックエンド
}
}