Ubuntu+Apache+Rack+FastCGIな環境でSinatraを使う
Sinatraはあっさり動いてくれました。以下手順のメモです。
sudo gem install sinatra
ファイルの記述
前回テストしたrack-testディレクトリ以下に次の3つのファイルを配置します。
.htaccess
ファイルやディレクトリが存在しない場合にはリクエストをすべてdispatch.fcgiへ投げるようにします。
RewriteEngine On
RewriteBase /DirectoryIndex dispatch.fcgi
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ dispatch.fcgi/$1 [L]
start.rb
ここにはアプリケーション本体のコードを記述します。
require 'rubygems'
require 'sinatra'
get '/' do
'Hello, World!'
end
dispatch.fcgi
start.rbを読み込んでFastCGIとして起動させているだけのコードです。
#!/usr/bin/env ruby
require 'rubygems'
require 'rack'
require 'sinatra'
Rack::Handler::FastCGI.run Sinatra::Application
テスト
このコードを動かしてみると、うちではなぜか出力が以下のようになってしまいます。
He
ある程度出力が長ければ(30文字程度)途切れずに表示されるので実害はないのですが、よく分からない感じです。