monoの開発ブログ

Ubuntu+Apache+Rack+FastCGIな環境でSinatraを使う

Sinatraはあっさり動いてくれました。以下手順のメモです。

sudo gem install sinatra

ファイルの記述

前回テストしたrack-testディレクトリ以下に次の3つのファイルを配置します。

.htaccess

ファイルやディレクトリが存在しない場合にはリクエストをすべてdispatch.fcgiへ投げるようにします。 RewriteEngine OnRewriteBase /DirectoryIndex dispatch.fcgiRewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.*)$ dispatch.fcgi/$1 [L]

start.rb

ここにはアプリケーション本体のコードを記述します。

require 'rubygems'require 'sinatra'get '/' do  'Hello, World!'end

dispatch.fcgi

start.rbを読み込んでFastCGIとして起動させているだけのコードです。

#!/usr/bin/env rubyrequire 'rubygems'require 'rack'require 'sinatra'require 'start'Rack::Handler::FastCGI.run Sinatra::Application

テスト

このコードを動かしてみると、うちではなぜか出力が以下のようになってしまいます。

He

ある程度出力が長ければ(30文字程度)途切れずに表示されるので実害はないのですが、よく分からない感じです。