PHPとPassengerのこととか
KoshigoeBLOG: Passengerのドキュメント読んだ
コメント欄にレスを書こうとしたけどTypeKeyに行く手を阻まれたのでここで。
比較的新しいソフトウェアなので、実績面で不安がありますが、(中略)
対応プラットホームも割と多く検証している気がしますが、そうでもないんでしょうかね。
最近のコミットログを見るに64bit LinuxとMac OS Xあたりの対応でいろいろとやっている模様。
実際に自分の手元でも64bitのCentOS 5.1で動かなかったりしたので、実績や検証はまだまだ足りないレベルかと。
Passengerを使う場合、mod_phpとか有効にすると邪魔になったりするのだろうか。Railsアプリが動くプロセスにmod_php分が上乗せされるのが気持ち悪いけど、気持ち悪いだけで、システムへの悪影響は全くないんだろうか。
通常のhttpdプロセスとは別にRailsアプリ専用のプロセスが立ち上がるのでmod_phpとPassengerが干渉しあうことはないと言ってよさそう。
そもそもPassengerはそうならないように注意深く設計されているとのこと。
ここらへんはPassengerアーキテクチャ概要に書いてありますな。
リクエストが来たらmod_passengerがRailsアプリに関係のあるリクエストがどうかを判断する。
関係のないリクエストはhttpdによってそのまま処理される。この時httpdにmod_phpが乗っていればPHPが動く。
関係のあるリクエストはRailsアプリケーションのインスタンスによって処理される。
といったかんじみたい。
ところでふと思いついて試しにRailsのViewの中にPHPスクリプトを書いて動かしてみたが、PHPは動かなかった。
一方でRAILS_ROOT/public以下のRailsアプリケーションが関与しないファイルは通常のhttpdプロセスによって処理されるので、ここにPHPスクリプトを置いておくと普通にPHPとして動作する。
ページキャッシュを使うとViewの中のPHPスクリプトもキャッシュ後に限って動くなぁ、とか思ったけどこのネタはあんまり役に立たなそうだ。
ところで
Passengerと呼ぶかmod_railsと呼ぶかどっちがいいのか。
前者が正式名称っぽいが、後者の方がわかりやすいよなー。
Rails以外のアプリも動くようにするかどうか検討中とかあるからPassengerと呼んでおいた方がいいのかな。
とりあえずPassengerで統一するか。
てか
ドキュメントの訳とかスゲー。→ KoshigoeBLOG: Passengerのドキュメント読んだ