Node.js+Express+EJS+HerokuでWebアプリケーション開発 その1
すみません、先月くらいに「CodeIgniterでWebアプリ作るぜ〜」って言ってましたけど、気が変わったので「Node.jsでWebアプリ作るぜ〜」に変更します。※CodeIgniterは時間を見つけて更新します(´・ω:;.:...
今回はNode.jsでHello, Worldを表示させるまでをメモります。
Node.js単体でHello, World
いきなり手を動かします。 Node.jsの技術的な説明は他サイトを見てどうぞ。 簡単に言うと、サーバー構築からクライアント開発までをJSだけでできるよってやつです。
Node.jsのインストール
インストーラーがあるのでポチポチするだけでおk。簡単
jsファイルを作る
「nodejs-test」みたいなディレクトリ作ってその中に「app.js」みたいなファイルを設置します。
その後、「app.js」をエディタで開きましょう。
コードを書く
var http = require('http'); http.createServer(function(request, response) { response.writeHead(200, {'Content-Type': 'text/plain'}); response.end('Hello, World\n'); }).listen(7777);
Node.jsでポート7777にサーバーを構築して、「Hello, World」という文字列をブラウザに出力します。 上記のコードをapp.jsに書き込んで保存しましょう。
ターミナルから実行
cd nodejs-test/app.js
といった具合にディレクトリを移動し、
node app.js
でNode.jsを実行します。
実行したら、http://localhost:7777にブラウザでアクセスすると「Hello, World」と表示されているはずです。 やったね!
HerokuでHello, Worldを公開する
Node.jsでつくったアプリは当然普通のレンタルサーバでは動作しません。
なので、アプリを公開する場合はNode.jsが動作するサーバへ設置する必要があります。
今回は、制限はあるものの無料で使用できる「Heroku」を利用します。
Herokuのアカウント登録
上記ページからアカウント登録。
Heroku専用のコマンドラインツールをインストール
上記ページからツールをダウンロード、インストール。
Node.jsのインストーラーと一緒でポチポチすればおk。
package.jsonとProcfileを作成する
ターミナルでapp.jsがあるディレクトリへ移動し、
npm init
を実行。Enterキーを連打してpackage.jsonを作成します。
もうひとつ。
Procfileファイルを作成します。
これは、Heroku上でNode.jsを動作させる際に必要になるファイルです。
Procfileを新規作成し、
web: node app.js
と記述して保存します。
このファイルをHerokuに読ませることで、Node.jsを実行できるようになります。
ポート番号の記述を変更する
app.jsのcreateServerのポート番号をHeroku用に書き換えます。
var http = require('http'); http.createServer(function(request, response) { response.writeHead(200, {'Content-Type': 'text/plain'}); response.end('Hello, World\n'); }).listen(process.env.PORT, process.env.IP);
listen(process.env.PORT, process.env.IP);
ここに注目。こんな感じにポート番号を変更しましょう。
コマンドラインでHerokuにアプリをデプロイする
gitを利用してHerokuにデータをデプロイします。
ターミナルでapp.jsがあるディレクトリに移動し、
git init
でgitの初期化を行います。
続いてHerokuにアプリを登録します。
heroku create アプリ名
アプリ名には任意の名前を入力してください。
ただし、既に使用されているアプリケーション名を登録することは出来ません。
入力後にEnterを押すとHeroku上にアプリが登録されます(https://dashboard.heroku.com/appsで確認できます)。
次にgitを使ってデータをHerokuにコミットします。
git add .
で、ディレクトリ内のすべてのファイルをステージングに追加します。
git commit -m "任意のコメント"
でHerokuにステージングしたファイルをコミットします。
そして最後にプッシュしてHerokuへのデータのデプロイは完了です。
git push heroku master
デプロイ完了したら、「アプリケーション名.herokuapp.com」で実際のアプリにアクセスできます。
https://nodejs160404.herokuapp.com/
これでとりあえずつくったアプリが公開されました。
今後
Node.jsとSocket.ioを使って色々やりたいすね。
その2 →