Ruby1.9.1p243でPassengerを動かす

ぐぐれば回答そのものがありました。
Ruby1.9.1に含まれるtempfile.rbの四行をコメントアウトして、File.unlink(@tmpname) if File.exist?(@tmpname)を追加というだけでした。

--- tempfile.rb.orig    2009-09-17 01:47:48.000000000 +0900
+++ tempfile.rb 2009-09-17 01:50:51.000000000 +0900
@@ -136,10 +136,11 @@
   def unlink
     # keep this order for thread safeness
     begin
-      if File.exist?(@tmpname)
-        closed? or close
-        File.unlink(@tmpname)
-      end
+      File.unlink(@tmpname) if File.exist?(@tmpname)
+  #    if File.exist?(@tmpname)
+  #      closed? or close
+  #      File.unlink(@tmpname)
+  #    end
       @@cleanlist.delete(@tmpname)
       @data = @tmpname = nil
       ObjectSpace.undefine_finalizer(self)

*追記
どこで見つけたか忘れましたが
uninitialized constant PhusionPassenger::Utils::PseudoIO::StringIOなんて出る時は、

passenger-2.2.5/lib/phusion_passenger/utils.rb
の先頭に
require 'stringio'を加えるとよろしいかと。