FUJILOG

見た、聴いた、触れたこと。 動かしたもの、書いたもの。 ウェブとリアルの備忘録です。

Heroku/Node.js で "hello wolrd"(自分用メモ)

初めてのHerokuです。
dotCloudも試したのですが、web-socket使うのであれば、Herokuの方がオススメとのことだったので。

手順はおよそこのサイト通りでした。
id: ruedap ++

実行環境:
MBA
MacOSX Lion 10.7.1


【実施手順】

  • Node.jsインストール
  • npmインストール


npm install (module name) とするとパッケージのnode_modulesフォルダ内にモジュールがインストールされる。
グローバルにインストールしたい場合は、npm install (module name) -g とオプション指定する(複数アプリで使いまわしたい場合)。
node.jsは半年触れないと細かいところ変わっていて早いなーと。


その後、任意のフォルダにて
  • expressインストール
  • express (YourAppName) コマンドでアプリの雛型作成
  • サーバファイルapp.jsを更新
雛型のapp.jsと同階層に
  • package.json(アプリ情報と、node.jsのモジュール群バージョン情報)
  • Procfile(アプリ形式の設定ファイル)
  • .gitignore(Herokuへコミットしたくないフォルダはここへ記述)
を配置。

まずはローカル環境で実行確認。
いつもの node  app.js

Procfileでの環境に誤りがないかforemanでテスト。
foreman start を実行
※foremanが入ってなければ事前にインストール gem install foreman

ここまで進めば、残りはHerokuへのデプロイ作業のみです。


ちなみに、参照先以外で、デプロイ時につまづいた点は以下のもの。
【1】
git add . する前に
git init しておく
※gitに不慣れなのは反省

【2】
git push heroku master する前に
git remote add heroku git@heroku.com:YourAppName.git
で自分のアプリ名で実行しておく

【3】
git push heroku master を実行したとき、
Warning: Permanently added 'heroku.com,50.19.85.156' (RSA) to the list of known hosts.
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
と出たら、sshキーが不正なので、再度生成します。

以下のコマンドで、heroku用のsshキーを生成。
ssh-keygen -t rsa -C "yourmailaddress@mail.com"
すると、
Generating public/private rsa key pair. 
Enter file in which to save the key: (keyの保存場所の確認で良ければenter)
Enter passphrase (empty for no passphrase :パスワード登録):
Enter same passphrase again:

と、続いてkey fingerprintが表示されればOK。


最後に git push heroku master コマンド実行し、
ポップアップのパスワードを認証させると、herokuにNode.jsアプリを配置できます。










http://hello-yoshi.heroku.com/でも上記URLへリダイレクトされます。