Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

自前鯖のrails4のアプリをproduction環境で稼働させる

今日は自前鯖のrails4のアプリをproduction環境で稼働させる方法の話です。

実はHerokuみたいな環境の記事は書いた事があります。
shuzo-kino.hateblo.jp

ただ、自前鯖だとデータベース等々で手を動かさないと駄目なトコも多いです。
普段人任せか自動化スクリプトかでやっていた所、今回は自前でやらざるを得なかったのでメモ。

実際のところ

まずはDBです。
共通部分が多いのでdefaultで共通化してあります。
dotenv-railsを使っているので環境変数展開があります。

default: &default
  adapter: mysql2
  encoding: utf8
  reconnect: false
  pool: 5
  host: localhost

development:
  <<: *default
  database: development
  username: user
  password: <%= ENV['USER_PASSWORD'] %>
  
production:
  <<: *default
  database: product
  username: admin
  password: <%= ENV['ADMIN_PASSWORD'] %>

用意ができたら、DBのセットアップです。
ウチは諸々の事情でseedで突っ込んでますが、
人によっては事前にdumpデータを反映するケースもあるでしょう。

$ rake db:create RAILS_ENV=production
$ rake db:migrate RAILS_ENV=production
$ rake db:seed RAILS_ENV=production

railsstrapのようなフロントエンド向けフレームワークを使っているなら、
それのコンパイルもやります。

$  rake assets:precompile RAILS_ENV=production

全部終わったら起動です

$ rails s -e production