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