rails+fastcgi+lighttpdではまった所

いや〜〜〜サーバー構築ってまじむずいっす。
とくにlighttpdがむずい。エラー分かりにくすぎw
でもなんとか動いて一安心です。

unexpected end-of-file (perhaps the fastcgi process died)

何かあるとすぐにこのunexpected end-of-file (perhaps the fastcgi process died)エラーがでる><
しかしだいぶエラーになるタイミングが分かってきた。


まず、サーバー起動時にエラーが起こると起こるようだ。
例えばreqireしてるファイルが見つからなかったりconfig配下のファイルの内容で落ちるとこのエラーになる事がおおい。
対処法としてはwebrickで起動してエラーが出ないかを確認するといい。


またWebrickで出ない問題としてはgemのバージョンの差異でもこれが出ている模様
Rails2.2.0が出て2.2系と2.1系とかで色々バージョンがごっちゃになっていたらWebrickでは起動するもののLighttpdでは起動しなかった。

gem install rails -s http://gems.rubyonrails.org -v 2.2.0

な感じでがつっとバージョン指定して取ってきて、それをサーバーにもってってインストールした。
(なんでWebrickはいけてlighttpdはいけないのかなぞだなぁ)

undefined method `cache_template_loading=' for ActionView::Base:Class

Raisl2.2系にするとこれがでる。development.rbとかの

# Show full error reports and disable caching
config.action_controller.consider_all_requests_local = true
#config.action_view.debug_rjs                         = true
config.action_controller.perform_caching             = false
#config.action_view.cache_template_extensions         = false

見たいな感じでconfig.action_view関連をコメントアウトしましょう。
http://railsforum.com/viewtopic.php?id=23648

ActiveSupport::CoreExtensionsをenvironment.rbとかに記載してるとlighttpdだと動かない。

Webrickだと動くんだけどね。なのでconfig/initializers/配下にrails_ext.rbをつくってかいた。

TCLが無い環境でSqlite3をインストール

Sqlite3をビルドしたらtcl.hがないんじゃぼけと言われてしまったので

../configure --disable-tcl
make
make install

てな感じでTCLを無効にしたらインストールできた。
http://d.hatena.ne.jp/koki-h/20061224