MEAN StackをHeroku上で動かす
MEAN Stackを運用するサービスを検討していましたが、Herokuが良いだろうという結論になり、実際に使ってみました。
Herokuを選んだ決め手は以下のとおりです。
- Node.jsに対応している
- MongoDBがアドオンで簡単に使える
Herokuのドキュメントを参考にして、自分なりにやってみました。
Create a Web App and RESTful API Server Using the MEAN Stack | Heroku Dev Center
MEAN Stackの構成
MEAN Stackのアプリを用意しました。
github.com
Node.jsでExpressのAPIサーバとAngularで作成したフロントのコンテンツの両方を動かす形です。
これをHerokuでそのまま動かそうという算段です。
プログラムの参考元はこちら github.com
Herokuへのデプロイ
Heroku CLIをインストールします。
The Heroku CLI | Heroku Dev Center
Herokuのアプリ環境を作成します。
$ heroku create ... Creating app... done, ⬢ secret-scrubland-78144 https://secret-scrubland-78144.herokuapp.com/ | https://git.heroku.com/secret-scrubland-78144.git
gitの設定にherokuというリポジトリが追加されています。
$ git config --list ... remote.heroku.url=https://git.heroku.com/secret-scrubland-78144.git remote.heroku.fetch=+refs/heads/*:refs/remotes/heroku/*
デプロイを行うには、このリポジトリにPushします。
$ git push heroku master
MongoDBの追加
HerokuにMongoDBを作成するには、mLabのアドオンを追加します。
$ heroku addons:create mongolab
DBの接続情報はMONGODB_URI
という環境変数で取得できます。
今回のプログラムでは既にこの環境変数を使用して、MongoDBに接続するようになっています。
Heroku環境にアクセス
$ heroku open
こちらが今回作成したデモ環境です。
https://secret-scrubland-78144.herokuapp.com/
まとめ
Herokuを使えばMEAN Stackの運用環境を簡単に作成できることが分かりました。