読者です 読者をやめる 読者になる 読者になる

Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

自前鯖の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