読了: 約 4 分
Node.jsの実行させるためにHerokuを使ってみましたのでその時のメモ。
概要
はじめに
Herokuのサインアップはこちらから。
Herokuとは
クラウドベースのアプリケーションホスティングサービスです。
WEB開発から公開までを出来るプラットフォームです。
詳細は既に書かれている方がいたので、こちらから。
参考http://gihyo.jp/dev/serial/01/nodejs/0005
どうでもいいことですが、email送る時の背景が日本!
公開までの簡単な流れ
まずheroku toolbeltのインストール。
インストール後はターミナルから下記コマンド
$heroku login Enter your Heroku credentials. Email: メールアドレス Password (typing will be hidden): Could not find an existing public key. Would you like to generate one? [Yn] y
ここまでで基本は終了。
すでにアプリケーションを作成している方はそれをherokuに上げてみてください。
以下アプリケーションがない方。
herokuの本サイトにもありますが、下記のコマンドを実行して、
アプリケーションのサンプルをherokuにアップロードします。
git clone git://github.com/heroku/ruby-sample.git cd ruby-sample heroku create git push heroku master heroku open
ここからはざっくりアプリケーションの作成をメモ
forever
foreverはnpmの中に提供されており、モジュールとともにコマンドも同時に提供されています。
sudo npm install -g forever
jadeとejs
nodeのviewの中のテンプレートではjadeとejsが使われます。
最近だとどちらが需要が高いんですかね。
とりあえず自分はstylusやlessと似ている記述法が出来るjadeを使っています。
ただjadeの書き方に慣れていなかったので、html・jadeの相互変換ツール
でさくっと創ってみました。
index.jade template側
ul - items.forEach(function(item){ li p #{item.text} - })
app.js
var items =function(item){ [ { "text": "1st Post." } , { "text": "2nd Post." } ]; }
環境構築
homebrewインストール
homebrew commandを使用するためにはまずインストールが必要なので下記のサイトから
コマンドを打って入れます。
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
mkdir homebrew && curl -L https://github.com/mxcl/homebrew/tarball/master | tar xz --strip 1 -C homebrew
mongodb
インストールは本サイトから
Summaryのところに下記があるか確認(バージョン毎に違います。)
/usr/local/Cellar/mongodb/2.4.0-x86_64
後の説明は省きますが、後は作成したアプリケーションを上記のサンプルをあげたような形で、
pushすれば問題ないと思います。
herokuを使用する際に使うコマンド
ちなみにアプリケーションの作成で少しつまったのが、
node -vでnodeのバージョンを確認したところ -v 0.8.20と表示されたのでpackage.jsonをそのように書き換えたら
エラーが下記のように出て、0.8.19に戻したところちゃんとdeployされました。
Node.js app detected -----> Resolving engine versions ! Requested engine node version 0.8.20 does not match available versions: 0.10.3 0.10.2 0.10.1 0.10.0 0.8.23 0.8.22 0.8.21 0.8.19 0.8.14 0.8.13 0.8.12 0.8.11 0.8.10 0.8.8 0.8.7 0.8.6 0.8.5 0.8.4 0.8.3 0.8.2 0.8.1 0.8.0 0.6.20 0.6.18 0.6.17 0.6.16 0.6.15 0.6.14 0.6.13 0.6.12 0.6.11 0.6.10 0.6.8 0.6.7 0.6.6 0.6.5 0.6.3 0.4.10 0.4.7 ! Heroku push rejected, failed to compile Node.js app
heroku login heroku create application name git init git add . git commit -m 'commit message' heroku keys heroku keys:add ~/.ssh/id_rsa.pub heroku open