🐡
LaravelアプリをHerokuでデプロイしてみる
Herokuとは
- クラウドベースのPaas
- 様々な言語に対応
- Ruby、Python、Node.js、Java、PHP、Goなど
- 様々なデプロイ方法あり
- Heroku CLI
- Heroku GitHub Integration
前提条件
- 既にLaravelアプリがローカルに作成されていること
Herokuへのデプロイ手順
1.Herokuアカウントを作成する
- Herokuのサイトにアクセス
- 「Sign Up」ボタンをクリックし、必要な情報を入力してアカウントを作成
2.Heroku CLIをインストールする
- Heroku CLIのインストールページにアクセス
- 使用しているOSに応じて、インストールコマンドを実行
-
macOS:
brew tap heroku/brew && brew install heroku
-
Windows:
インストーラをダウンロードして実行
3.プロジェクトを作成する
- 端末を開き、プロジェクトのディレクトリに移動
cd your-project-directory
- Herokuで新しいアプリケーションを作成
heroku create hogehoge
4.リポジトリをHerokuにリンクする
- リモートリポジトリをHerokuに追加
git remote add heroku https://git.heroku.com/your-app-name.git
5.APP_KEYを作成し、Heroku Config Varsに設定する
- ターミナルを開き、Herokuアプリにログイン
heroku login
- Herokuアプリのディレクトリに移動
cd your-project-directory
- Laravelのartisanコマンドを使ってAPP_KEYを生成
heroku run php artisan key:generate --show
- 生成したAPP_KEYをHeroku Config Varsに設定
heroku config:set APP_KEY=base64:YOUR_GENERATED_APP_KEY
6.プロジェクトのルートディレクトリにProcfileを作成する
- 下記のように記述する
web: vendor/bin/heroku-php-apache2 public/
7.HerokuでDBのAdd-onsをインストールする
- Herokuのダッシュボードから、3で作成したhogehogeアプリを開き、hogehogeアプリのResoucesというタブをクリック
- 開いたページにAdd-onsというエリアがあるので、その検索エリアに使いたいDBのAdd-onsの名前を検索して、自分のアプリケーションに追加
今回はJawsDB MySQLという無料プランがあるものを選んだ
8.JawsDB MySQLの設定を行う
- JawsDB MySQLをクリックすると、下記のような設定ページが確認できる
- Herokuのhogehogeアプリのsettingsから、Reveal Config Varsを開く
- Config Varsで下記の値を設定
値は手順1で確認した値を入力
- DB_CONNECTION
- DB_DATABASE
- DB_HOST
- DB_PASSWORD
- DB_PORT
- DB_USERNAME
- JAWSDB_URL
9.アプリケーションをデプロイする
- Gitに変更をコミット
git add . git commit -m "Initial commit"
- Herokuにプッシュしてデプロイ
git push heroku master
10.アプリケーションを起動する
- Heroku上でアプリケーションを開く
heroku open
Discussion