passengerを読み解く(動かすまで) vol1

passengerを読んでみる事にしました.
なんでかと言いますとWeb(サーバとか)が大好きだからです.
 

passengerとは

簡単に言うと,HTTPサーバであるApacheアプリケーションサーバを組み込んで,ApacheだけでRailsが動く拡張モジュールです.
また,言い換えると、PassengerはApacheを拡張し、アプリケーションサーバーのように行動できるようにします.
通常,ApacheからRailsアプリケーションを動作させる場合,mongrelなどのAPサーバが必要ですが,それが不要です.
それと,色々と高速に動作します.
その理由とかは,後々読んでいくうちに解説できればと思います.
(というかまだ読んでないのでよく分からない)
 

動かしてみる

では,PassengerをApacheに組み込んでRailsアプリを動かしてみましょう.
Railsアプリはscafoldなんかでさくっと作るとよいです.
参考にどうぞRails 2.0のscaffoldを使ってみた - idesaku blog
 
あとPassengerですが,これは,まぁ
なんやかんや
で動きます.
Passenger(mod_rails for Apache)を Ubuntu にインストール - Higepon’s blog
Apache上でRuby on Railsアプリケーションを動かす/Passenger(mod_rails for Apache)の利用 — Redmine.JP
ひげぽんさんや,g_maedaさんのすばらしい導入の記事があるので,これでなんやかんやしてください.
 
うまくいくと
http://localhost/people
なんかでScafoldしたアプリが見えると思います.
 

ちゃんと動いてるのか?

ps ax | grep passenger

で確認してください.
Apacheが起動していればプロセスが常駐しているはずです.
 
また,

passenger-memory-stats

でも確認可能です.
 

技術的な紹介

Passenger アーキテクチャ概要 (koshigoe 仮訳)
が非常に参考になります.
 

次回

mod_passenger.c のApache拡張ライブラリの解説をしたいと思いますが,
なんだかC++でかかれていて,C++の勉強からだねって感じですので,途中で挫折するかも.