スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

sinatraをnginxを動かす

追記(2012/2/4 11:38)
ngixnにフォーワード情報を追加。エラー時にsinatraが用意した画像を表示できるようになる。

以前にsinatraのHello Worldアプリを作りましたが、それをnginx経由で動かしてみます。
UNIXドメインソケットを使用しています。
app.rbとconfig.ruとthin.ymlは/tmpに配置する想定です。それ以外の場所に置く場合はnginxのsockの位置を修正してください。

app.rb
#coding: utf-8
require 'sinatra/base'
class MyApp < Sinatra::Base
get '/' do
"Hello World!"
end
end

config.ru
#coding: utf-8
require File.dirname( __FILE__ ) + '/app.rb'
run MyApp

thin.yml
---
environment: development
timeout: 30
log: log/sinatra.log
pid: pid/sinatra.pid
max_conns: 1024
max_persistent_conns: 512
require: []
wait: 30
daemonize: true
socket: sock/sinatra.sock
servers: 2

nginx
server{
listen 80;
server_name example.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_max_temp_file_size 0;
location / {
proxy_pass http://sinatra;
}
}
upstream sinatra {
server unix:/tmp/sock/sinatra.0.sock;
server unix:/tmp/sock/sinatra.1.sock;
}
スポンサーサイト

COMMENTS

COMMENT FORM

TRACKBACK


この記事にトラックバックする(FC2ブログユーザー)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。