基礎から学ぶNode.js

第5回 Node.jsアプリケーションをHerokuで動かす

この記事を読むのに必要な時間:およそ 2 分

Herokuにデプロイ

Herokuへのデプロイは,アプリケーションごとに用意されるGitリポジトリにコミットすることで行います。

まずアプリのルートディレクトリにおいて,Gitのローカルリポジトリを作成します。そしてルートディレクトリ以下のファイルを,全て追加およびコミットします。

$ cd firstapp
$ git init
$ git add .
$ git commit -m "My first commit"

Herokuに新しいアプリケーションを作成します。自動的にそのリポジトリがローカルに登録されます。

$ heroku create
Creating xxxx-xxxx-xxx... done, stack is cedar
http://xxxx-xxxx-xxx.herokuapp.com/ | git@heroku.com:xxxx-xxxx-xxx.git
Git remote heroku added

さらにMongoHQのFREE版を追加します。ブラウザの「My Apps」から当該アプリの詳細ページに進んでそこから追加することもできます。前述のとおり無料であってもクレジットカード情報の登録が必要です。

$ heroku addons:add mongohq:free

最後にherokuリポジトリにプッシュします。

$ git push heroku master

以上でHerokuのNode.js環境にアプリケーションがデプロイされ,npmによって依存モジュールがインストールされます。これらは,先ほどのpackage.jsonに従ったバージョンが使われます。

Herokuでアプリケーションを起動

Web dyno(dynoとは,Herokuにおけるアプリケーションインスタンスの単位です。)を使って,Webアプリケーションを起動します。

$ heroku ps:scale web=1
Scaling web processes... done, now running 1

1アカウントに付き,1 dynoまでは無料になっています。またWebとは別にバックグランド処理を行うためのWorkerというdynoも存在します。

「heroku create」時に出力されたURL(<アプリケーション名>.herokuapp.com)にブラウザからアクセスすると,動作確認できます。

図3 Herokuで動作しているfirstappアプリ

図3 Herokuで動作しているfirstappアプリ

図3 Herokuで動作しているfirstappアプリ

図3 Herokuで動作しているfirstappアプリ

アプリケーションのプロセスログは

$ heroku logs

で確認することができます。

停止したいときは,下記のように「heroku ps:stop」を実行します。

$ heroku ps:stop web=1
Stopping web=1 processes... done

最後に

今回は,有名なクラウドホスティングサービスのHeroku上に,Node.jsアプリをデプロイしてみました。とてもシンプルで使い勝手の良いPasSだと思います。ただGitなどの最新技術の知識が一通りないと,なかなか目的までに辿り着くのが大変かもしれませんね。次回は,別のクラウドサービスとNode.jsの連携を試してみたいと思います。

著者プロフィール

高橋俊光(たかはしとしみつ)

ティルフィン合同会社 代表。

メーカー企業でパッケージソフト開発などに携わった後,ティルフィン合同会社を設立しフリーエンジニアとして,RIAやスマートモバイルアプリとサーバーサイドと広い分野で開発に従事。iOSアプリ トレンドトピック,Newstrushをリリースしている。