PassengerでSinatraを動かす方法
SinatraはRuby on Railsのように自動でフォルダやファイルを生成してくれないので、Railsデプロイの際のデファクトスタンダードとなりつつあるPassengerを使ってデプロイを行う際には、必要なフォルダやファイルを自分で作ってあげる必要があります。
デプロイする際に作成する必要があるフォルダやファイルをついつい忘れてしまうので、以下に書いておきます。
左の画像を見れば一目瞭然ですが、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)
2009.09.12 Sat 19:56
TRACKBACKS
この記事へのトラックバックURL: http://www.red-mount.com/trackback/53_2708ee4daedf80320c6794b9ee85f76d750c8846
ABOUT ME
tak (Takahito Sezutsu)
コメント、トラックバックはお気軽に!
COMMENTS
-
YSlowでRailsサイトのパフォーマンスを改善する方法
→GarrettLuisa18 (03.08) -
Versions - Macで使えるGUIベースのSubversionクライアント
→iB22Evie (02.22) -
クックパッドの裏側を見てきました
→Re (02.12) -
Mac版ATOK定額制(体験版)を1週間使ってみた
→tak (09.19) -
Mac版ATOK定額制(体験版)を1週間使ってみた
→ガウ (09.13) -
CSSフレームワークについて考えてみた
→tak (07.29) -
CSSフレームワークについて考えてみた
→佐藤 (07.19) -
Sugamo.css#5行ってきた
→tak (06.28) -
Sugamo.css#5行ってきた
→sakaki (06.23) -
Sugamo.css#5行ってきた
→Sig. (06.22)
COMMENTS