ローカル で Rails を production モードで起動するまでの手順を書きます。
今回は、Rails を API サーバーとして使うのに必要な手順のみです。
環境
- macOS Catalina 10.15.7
- Ruby 2.7.2
- Rails 6.0.3.4
- MySQL 5.7.32
手順
database.yml の設定
動作確認のため、DB 名以外は development モードで起動していた時と同じ設定にしてしまえば良い。rails new した時のままであれば、だいたいこんな感じになるはず。
database.yml
default: &default
adapter: mysql2
encoding: utf8mb4
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
username: root
password:
host: localhost
development:
<<: *default
database: my_app_development
test:
<<: *default
database: my_app_test
production:
<<: *default
database: my_app_production
DB セットアップ
% RAILS_ENV=production bundle exec rails db:setup
Created database 'my_app_production'
db:setup
だけで db:create, db:migrate, db:seed してくれるはず。
サーバーを production モードで起動する
$ bundle exec rails s -e production
curl などでアクセス確認できれば OK。
動作確認したアプリケーションは sidekiq を入れていたので、 /sidekiq
にアクセスしたが、問題なく動いた。
おわりに
API サーバーだけとはいえ、こんなに簡単に動いたっけ?
昔より楽になったのかな。