<< back to list

PassengerでSinatraを動かす方法 あとで読む

SinatraはRuby on Railsのように自動でフォルダやファイルを生成してくれないので、Railsデプロイの際のデファクトスタンダードとなりつつあるPassengerを使ってデプロイを行う際には、必要なフォルダやファイルを自分で作ってあげる必要があります。

デプロイする際に作成する必要があるフォルダやファイルをついつい忘れてしまうので、以下に書いておきます。

Sinatraのフォルダ構成左の画像を見れば一目瞭然ですが、SinatraをPassenger上で動かすには、最低4つのファイル / フォルダが必要です。

publicフォルダとtmpフォルダは、説明の必要がないと思います。Railsのフォルダと同じです。これはただ単にデプロイするフォルダの中に作成しておくだけでOKです。画像やCSS、JavaScriptを使う場合は、publicフォルダの中に置いてあげるときちんと読み込んでくれます。

Railsの場合と異なるのは、「app.rb」と「config.ru」ですが、app.rbの方はSinatraで作成したアプリケーションファイルです。ファイル名も別に指定されているわけではないので、別の名前にしてしまっても大丈夫です。

「config.ru」の方は、Passengerが最初に読み込むファイルになります。このファイルの中身は下記のような感じ。

require 'app'  # 今回は、Sinatraアプリケーションがapp.rbになっているのでappを指定
run Sinatra::Application

たった2行のファイルですが、これがないとPassengerはSinatraアプリケーションを動かしてくれません。

これでデプロイの準備は完了ですが、httpd.confの設定も忘れないようにしましょう!
httpd.confの設定も、基本的にRailsと同じです。

<virtualHost your.virtualhost.name>
ServerName your.virtualhost.name
DocumentRoot /path/to/sinatra/public # ここはRails同様、publicフォルダをします
</VirtualHost>

 

さて。そんなわけで今更ですが、Rubyの超軽量フレームワーク「Sinatra」を触っています。

ウェブサイトに求められる機能は日々肥大化し、Railsが進化する中で多くの有志が作成したプラグインを使う事で、従来よりも少人数で手軽に複雑なアプリケーションを作る事ができるようになりました。ですが、全てのウェブサイトが複雑な構造をしているわけではなく、数枚のHTMLファイルに毛が生えたようなウェブサイトを作成したり、単純にXMLやRSSを返すだけのアプリケーションにとって、Railsでの開発はいささかスケールが大きすぎました。

Sinatraは、そういったRailsで開発するには物足りない、小さなウェブアプリケーションの開発に適したフレームワークだと思います。

Rails+Passengerを使っていて、まだSinatraを使った事が無い方は、ちょっとしたアプリケーションの開発に一度使ってみて下さい。
きっと気に入ると思います!

ちなみに、Sinatraアプリの作り方は、下記のサイトが詳しいです。

Sinatra, Passenger, mod_rails, Rails, Ruby | comments(0) | trackbacks(0)   このエントリーを含むはてなブックマーク Yahoo!ブックマークに登録 livedoor クリップに登録 del.icio.usに登録 Google Bookmarks に追加 この記事をBuzzurlに追加 2009.09.12 Sat 19:56

COMMENTS

name : email : url :  
captcha: simple_captcha.jpg(全て大文字のアルファベットです)
画像中の文字とおなじものを入力してください。
comment: COMMENT

TRACKBACKS

この記事へのトラックバックURL: http://www.red-mount.com/trackback/53_2708ee4daedf80320c6794b9ee85f76d750c8846

<< back to list
 

ABOUT ME

tak (Takahito Sezutsu)

コメント、トラックバックはお気軽に!

COMMENTS

フィードメーター - RED-MOUNT.COM
あわせて読みたいブログパーツ