herokuとは、簡単に言うと クラウド上のサーバの一種 です。
Webサイトを立ち上げようと思うと、自身でサーバをたてて設定しないといけませんが、
herokuを利用すると、簡単にサーバをたてられて、Webサイトを作れます。
厳密には、PaaS(Platform as a Service: アプリケーションを実行するためのプラットフォームをインターネットを介して提供するサービス)の一種です。
サーバやOS、データベースなどのプラットフォームを、インターネットを介して利用することができます。
herokuの一番良いところは、ほぼ 無料 で使える点です。
プライベートで利用する分には無料プランで十分済むので、
自分はプライベートでよく使っています。
この記事ではherokuを使いこなす術をいくつか紹介します。
開発環境
- OS: MacOS v10.13
- Terminal: iTerms
- Shell: zsh
クラウド環境(herokuマイページ)と、
ローカル環境(Terminal)の操作がメインとなります。
始める前に
Herokuに新規登録・ログインする必要があります。
https://signup.heroku.com/
クレジットカード情報の登録が必須みたいですが、
プランを切り替えない限り無料で問題なく利用できます。
アクセス数が多くなるものを作りたい場合は、有料プランの方が良いかもです。
詳しくはこちら。
ログイン
ローカル環境で、herokuにログインします。
$ heroku login
メールアドレスとパスワードを聞かれるので、入力してログイン完了。
アプリケーションの作成
ローカル環境でheroku上にアプリケーションを作成します。
作成したアプリケーションはダッシュボード一覧に載ります。
$ heroku create
上記コマンドでも作成可能ですが、アプリケーション名がランダムになります。
アプリケーション名を指定したい場合は、名前を指定しましょう。
$ heroku create アプリケーション名
デプロイ
ローカルで作成したコードをheroku上にデプロイします。
htmlファイルをデプロイすれば、
https://アプリケーション名.herokuapp.com/
上でページが開けるようになります。
$ git push heroku master
git管理しているコードをデプロイする場合
上記のデプロイでも問題ないですが、
herokuアプリケーションと、対象のgitリポジトリを紐付けてあげれば、
git pushするだけで、自動的にデプロイするように設定できます。
herokuアプリのDeployタブで、上記のように
gitリポジトリ紐付け・Automatic deploysを設定すれば実現できます。
herokuにアップしたアプリをブラウザで開く
herokuサイト上の Open App
ボダンでも開けますが、
ローカルからだと下記コマンドで開けます。
$ heroku open
$ heroku open -a アプリケーション名 #App指定する場合
環境変数の確認・追加
いわゆるconfigです。herokuアプリのSettingタブのConfig Vars
からも確認できますが、ローカルに出力することもできます。
$ heroku config
追加も同様、herokuアプリのSettingタブのConfig Vars
からもできます。
ローカルからのコマンドで行う場合は下記です。
$ heroku config:set NAME='xxxxxxxxxx'
ツールを追加・確認
herokuサーバだけではシステム構築の幅が広くはないです。
DBなどのツールを利用したいときは、 addon
することができます。
例えばClearDBをaddonしたい場合は下記です。
$ heroku addons:create cleardb:ignite
追加したaddonは下記コマンドで一覧を確認できます。
また、herokuアプリのOverviewタブでも確認できます。
$ heroku addons
ログを確認
デプロイ時のログをターミナル上に表示できます。
$ heroku logs
リアルタイムで見ることもできます。 --tail
も -t
も同じです。
$ heroku logs -t
$ heroku logs --tail
ステータスの確認
今Sleepモードなのかどうかなど、サーバ状態などの確認をすることができます。
$ heroku ps
ドメインの確認
今どのドメインが振られているかの確認です。
$ heroku domains
アプリケーション一覧を確認
ダッシュボード一覧で確認できます。
また、ローカルから下記コマンドで確認できます。(どちらでも可)
$ heroku apps
$ heroku list
herokuアプリケーションが2つ以上ある場合
基本的に $ heroku create
コマンドを実行したPC且つ階層であれば、
対象のherokuアプリケーションが設定されています。
ただ別PCなどから、既存のherokuアプリケーションを利用したい場合、
対象のherokuアプリケーションが設定されていません。
その際は、指定することができます。config確認の場合は下記。
$ heroku config --app アプリケーション名
ただ、どのコマンドにも --app アプリケーション名
を付けないといけないので、
面倒なやり方ではあります。
herokuにコマンドを実行
heroku上のデータベースを設定したいときの場合など、
herokuにコマンドを実行してあげる必要があります。
$ heroku run コマンド
でローカルから実行できます。
またこれは、herokuアプリ上でも Run Console
があり、そこに直接
$ コマンド
しても同様にコマンド実行ができます。
herokuAppの名前を変更
HerokuAppのnameを変更することができます。
Heroku管理画面でも変更はできますが、オススメしません。
デプロイコマンドに --app NewName
を毎回付けないといけなくなるので。
herokuAppのディレクトリroot階層で変更します。
$ heroku rename NewName
herokuAppのディレクトリ外で変更する場合はコマンドは下記。
$ heroku rename NewName --app OldName
ログアウト
ローカル環境でログアウトしたい場合は下記コマンド。
$ heroku logout
まとめ
まだまだたくさんあると思うので、都度更新していきます。