はじめに
こんにちは、野村です。
PCにNode.jsをセットアップしても、公開する環境がなければ寂しいものです。
というわけで、Herokuにアカウントを作ってみました。
Herokuというのはアメリカにある企業の名前です。また、その企業が運営するPaasの名前でもあります。
Paasというのは、Webアプリケーションを公開するためのサービスの一種。でいいのかな?
今回は、Node.jsのWebアプリケーションフレームワークである「express」で最低限のアプリを作り、それをHerokuにアップしてみます。
前提条件
・すでにNode.jsとnpmがインストールされているものとします。
・すでにHerokuのアカウントを取得しているものとします。
・すでにHerokuのコマンドラインツールがインストールされているものとします。
expressのセットアップ
適当なディレクトリを作って、その中で作業します。
まずはnpm initを実行。
質問には適当に答えます。今回は全てエンターキーを押して先に進めました。
$ npm init
それからexpressをインストール。
$ npm install express --save
ファイル「index.js」を作成し、以下のように記入します。
var express = require('express'); var app = express(); app.set('port', (process.env.PORT || 5000)); app.get('/', function(request, response) { response.send('Hello World!') }); app.listen(app.get('port'), function() { console.log("running at localhost:" + app.get('port')) });
一応、起動の確認をします。
停止するときは「Ctrl+c」でOKです。
$ node index.js running at localhost:5000
ブラウザで「http://localhost:5000」にアクセスします。
問題がなければ、次に進みます。
Herokuへのデプロイ
ファイル「Procfile」を作成し、以下の内容を書き込みます。
web: node index
一応、Herokuにログインします。
$ heroku login
デプロイします。
$ git init $ git add . $ git commit -m "message" $ heroku create $ git push heroku master
文字がいっぱい流れます。
その最後のほうにURLが表示されているので、それをコピーします。
そのURLにWebブラウザでアクセスします。
ホントは「heroku open」というコマンドを実行すれば、Webブラウザが起動してURLを開いてくれるらしいのだけど、Bash on Ubuntu on Windowsだからなのか、Webブラウザが起動してくれなかった。
$ heroku open
更新する
アプリを更新したら以下のコードでプッシュします。
$ git add . $ git commit -m "message" $ git push heroku master
最後に
以上、expressで最低限のアプリを作ってHerokuにアップする方法を紹介しました。
実は、Herokuを使ったのはこれが初めて。
今までNode.jsで書いたものを公開するときは、RedHat社が運営するOpenShiftというサービスを利用していました。
なので、まだまだ勝手がわかりません。
気付いたことがあれば、またHerokuの記事を書こうと思ってます。
次回はexpressを使って、もうちょっとWebサイトらしいものを作ってみます。
というわけで、今回はこれにて。