Railsの運用サーバー構築時にハマったこと

問題

ローカル環境だとlocalhost:3000にアクセスすると見られるWelcome aboardを表示することを目標に,設定を書き換えてはhttp://example.comにアクセスし続けたけど,何度やってもThe page you were looking for doesn't exist.(404)しか返されない.

対処法

Rails 3.0.3 Production 環境にて public ディレクトリが見れない時 - メモ@taruruの通り,config/environments/production.rbに

config.serve_static_assets = true

としておき,http://example.comにアクセスするか

rails g scaffold blog title:string content:string
rake db:migrate RAILS_ENV=production

などしてhttp://example.com/blogsが正しく表示されるかチェックする必要があります.
データベースのマイグレーションも,RAILS_ENV=productionを付け忘れやすいので注意ですね.

今回はnginx + unicorn + railsで環境構築をしていったのですが,どの設定が悪いのか把握しづらく,一度ハマると結構たいへんでした.ログを見て問題の範囲を狭めていくことが大切ですね.