さくらインターネットにデプロイしようとしてにっちんもさっちんも行かなくなっている今日この頃です。
で、非常にいい感じの情報をゲットしたのでシェアしたい。
デプロイにおいて、500や403エラーもやたらと出るが、多分最後に出てくるのが
Rails application failed to start properly
ではないだろうか。
Rails application failed to start properly"
こんなの。
ログにも何もでないし、問題解決のしようがない。
そこで銀の銃弾とはならないものの、どこが悪いのかおぼろげに
見える素敵手法がある。
プロジェクトのpublic/フォルダに移動し、
を行うと、rails内でのエラーを吐いてくれるので、
お試しあれ。
ウチの場合はこんなん出た。原因究明はまだ。
/home/xxxx/rails/xxxx/vendor/rails/actionpack/lib/action_controller/cgi_process.rb:22:in `__send__': undefined method `env_table' for nil:NilClass (NoMethodError)
from /home/xxxx/rails/xxxx/vendor/rails/actionpack/lib/action_controller/cgi_process.rb:22:in `dispatch_cgi'
from /home/xxx/rails/xxxx/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:101:in `dispatch_cgi'
from /home/xxxxx/rails/xxxx/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:27:in `dispatch'
from dispatch.cgi:12
ただ、railsのバージョンによっては自動に生成されないので注意が必要。
そういう時はやや見苦しいが、ダミープロジェクトを作成し、
と入れることでpublic内にdispatch.cgiが作成されるので、それをコピペすると良い。
dispatch.cgiの一行目の
を自分の環境に合わせることもお忘れなく。
参照リンク
http://www.hostingrails.com/faq#rails_failed_to_start 正直激お役立ちサイトなので暇を見ては訳す。
