1)背景
第3回目です。自身のポートフォリオをデプロイするために、いよいよunicornを介してrailsを起動します。
AWS関連手順記事はすごく多いので、ここでは備忘録も含めて、非常に端的に手順を記載します。
全4話で進めます。
2)環境
項目 | 内容 |
---|---|
OS.Amazon Linux AMI | release 2018.03 |
Ruby | v2.5.1 |
Ruby On Rails | v5.2.4.3 |
MySQL | v5.6 |
Unicorn | v5.4.1 |
3)内容
以下設定で75分程度かなと思います。(段取りが分かっていれば、30分)
※【ローカルマシン】指定以外は、全てAWSでの作業になります。
(1)【ローカルマシン】Unicornの設定(20分)
- 対象アプリのGemfileにunicornを記述
- ローカル内でbundle installの実行(ユニコーン導入)
- ユニコーン導入で作成された設定ファイル(unicorn.rb)の編集
(2)Gitのクローニング(15分)
- アプリ格納フォルダの配置と権限付与
- アプリケーションをGitからのクローニング(※)
- アプリを稼働させるためのAWS-swap領域の作成(別記事をご参照ください)
※クローニングする際には以下が必要です。
(1)先ほどのローカルunicorn設定がpushされていること
(2)最新git、master化
(3)本番環境(production)のDBユーザ設定
(3)本番デプロイ設定(30分)
- アプリケーションに対するbundlerのインストール
- アプリのbundle installの実行(時間がかかります。)
- アプリの秘密鍵の取得(rake secret)
- 環境変数にdbユーザパスワード(productionと合わせる)と秘密鍵を設定する
- アプリのdbを作成する(DB-CreateとDB-Migrateの実行)
- assetsディレクトリのプレコンパイル
(4)本番Rails起動(10分)
- railsアプリを起動するため、インスタンスの3000番ポート開放
- unicornを介してサービスの起動
ここまで完了したら、"http://ElasticIP:3000"にアクセスすると、アプリケーションのトップページに遷移するはずです。
以上、短く記載しました。
ここまで、全てストレートに行ったわけではなく、エラーも出力されました。この辺りは、環境や設定により様々ですので、別記事にてエラー対策を掲載したいと思います。