2014-03-30

heroku で Node.js 事始め

ニーズがあったのでNode.jsで作ったアプリをherokuにデプロイして公開する方法をブログにまとめておきます。
個人でサクッとモックサーバ作るには一番最適だと思う。



1. herokuアカウントを作る


https://www.heroku.com

で Sign up


2. heroku toolbeltをいれる


https://toolbelt.heroku.com/

3. コマンドライン上でherokuにログインする


# heroku login


4. Node.jsのプロジェクトを用意する


expressでもなんでも良い。
package.jsonをちゃんと用意する。
app.jsだけとかの場合(あんまりないと思うけど) npm initとかしてきちんとしたpackage.jsonを用意する。
npm installする必要があるmoduleがある場合、正しくpackage.jsonのdependenciesを記述する。


5. Procfile を用意する


herokuにデプロイして、実際にnodeをheroku上に実行するのに必要なファイルです。
# node app.js みたいな感じで起動したい場合は、Procfileに下記のような記述をします。
web: node app.js


6. Gitでコミットする


gitがない場合はインストールしてから、

git init
git add .
git commit -m "init"

これで自身のPC上にコミットされた状態になります


7. heroku 上に自分のアプリケーションを作成する


herokuにアプリを置く場所を用意します。

# heroku create <app-name>

<app-name>のところには自分の好きな名前を入れられます。(入れないと適当な名前で作られる)


8. heroku にアプリをデプロイ


6.でコミットされた状態のものがherokuにあげられます。

# git push heroku master

7.を実行したときに一緒に作られた、heroku上にあるgitのmasterブランチにpushしています。


9. heroku 上でサーバを起動する(的な意味)


詳細は知りたければ調べてください。dynoとかで調べれば出ます。
利用するサーバの台数・・・みたいなものです!

# heroku ps:scale web=1


10. アクセスしてみましょう!


http://<app-name>.herokuapp.com

に行けば見れるはず!





こんな感じになります

以前 heroku にうpするために上げたプロジェクトをそのままgithubで公開してます。Procfileとかもあるよ。
https://github.com/79yuuki/nodeStudy




その後のTips


新たに更新

変更したら git に変更を add -> commit して
git push heroku master
すれば新しくデプロイが完了します!

ログがみたい時

heroku logsでサーバ上のログを見ることもできます。Node.jsのエラーが起こった時はこれを使って見てみましょう。


websocket対応

デフォルトのままだと heroku は websocket に対応していません。(2014/03/30現在)
heroku create した後、 Labs の機能で websocket を有効にする必要があります。

# heroku labs:enable websockets


久々に heroku 使うかーってなった時

heroku update で heroku toolbelt を更新しましょう


データベース使いたいお

heroku の add-on を使えば行けます!無料利用でもクレジットカード登録が必要なので注意。

heroku のサイトに行って、Dashboard から作ったアプリの詳細を開いてGet Add-onsをクリックして使いたいものを選びます。

heroku 上で動くDBはちょっと名前が違ったりしますがそれっぽい名前のを選べば基本OKなはず。


注意事項


基本無料なんですが、いろいろ制限もあります。下記記事が参考になります。
http://blog.mah-lab.com/2013/05/16/heroku-commons-16/
勝手にdynoが寝たり、無料時間750時間制限ってのがあります。
https://devcenter.heroku.com/articles/usage-and-billing
※あくまでモックサーバとして最適としか言ってませんのであしからずw

いつかちゃんと heroku でサーバ運用してみたいなぁ。




この記事はクスールのNode.js講座向けに書かれております!
2回目以降もあるかもしれませんので要チェキ (・ω<) -☆
http://cshool.jp/course/node-js

0 件のコメント: