heroku で node.js を動か・・・失敗だわー
ぬRuby の時に @volpe_28v さんに heroku で node.js 動かす方法聞かれたの思い出したので、動かし方をまとめておきます!
前に一度やっているのだけど、実のところすっかり忘れてしまっているのですわー
確かその時参考にさせていただいたのはこちら。
必要な手順は次のとおりですよー。
最初は結構 heroku 関連の設定が必要なんですよね。
次にリポジトリをぶっこむーふぉろみー!
オープン!
master ブランチに push しないとダメですかねー
そうそう!こんな感じだった気がするー!!
今度こそオープン!
ヒャッハ・・・ー?
・・・orz
push の時のログ見て気づいたけど・・・
dependencies のバージョンを合わせたら動くだろうか・・・今度試すー
いやー、ポート番号の指定の仕方がうんぬんだろうか・・・そんなのもあったような・・・
なにはともあれログを見ないことにはですよねー
人のプロジェクトをブログのネタに使って、あまつさえ失敗するとか!!わーお
(ホントすみません・・・)
前に一度やっているのだけど、実のところすっかり忘れてしまっているのですわー
確かその時参考にさせていただいたのはこちら。
必要な手順は次のとおりですよー。
最初は結構 heroku 関連の設定が必要なんですよね。
- Procfile と package.json の用意
- heroku のアカウント作成
- heroku コマンド導入
- heroku への公開鍵の登録
- heroku 上にアプリケーション作って push
- 起動!
結論としては失敗したのでまた今度挑戦します!
Procfile と package.json の用意
こんな感じで Procfile と package.json を用意します。
heroku のアカウント作成
Let's Sign Up!!
heroku コマンド導入
とりあえず gem が必要なので ruby をインストール
rvm とかいろいろあるけどそのあたり詳しくない、かつ Ubuntu なら
sudo apt-get ruby
ふぁいと! gem で heroku をインストールするよ!
gem install heroku
おっけー!
heroku への公開鍵の登録
ssh キーが必要なんで作りましょう
(すみません、忘れました。。。ぐぐってください)
~/.ssh 下に作成できたら
heroku keys:addおっけー!
heroku 上にアプリケーションを作って push
まずは Cedar stack にアプリケーション作成heroku create --stack cedar
次にリポジトリをぶっこむーふぉろみー!
git push heroku master
![]() |
説明では master を push してるけど実際には herokable ブランチでやってました |
起動!
heroku ps:scale web=1
オープン!
heroku openとっても・・・初期状態です!!
master ブランチに push しないとダメですかねー
git push heroku herokable:master(ブランチを別のブランチ名で push するなんて初めてつかいました・・・!)
そうそう!こんな感じだった気がするー!!
今度こそオープン!
・・・orz
push の時のログ見て気づいたけど・・・
-----> Vendoring node 0.4.7node のバージョン古いなぁ・・・これが原因だろうか?
dependencies のバージョンを合わせたら動くだろうか・・・今度試すー
いやー、ポート番号の指定の仕方がうんぬんだろうか・・・そんなのもあったような・・・
なにはともあれログを見ないことにはですよねー
人のプロジェクトをブログのネタに使って、あまつさえ失敗するとか!!わーお
(ホントすみません・・・)
とても興味のある記事ありがとうございます。
返信削除そして私の拙いアプリで題材に使っていただいてこちらも感謝です。
うまくいかないのはアプリのせいですかねぇ。。。
確かにポートの設定とか heroku 上ではどうなるのかなと思っていました。
続きを楽しみにしていますw
> volpe_hd28v さん
返信削除すみません、現在こんな次第でございますー
port(ローカルでも 80 を指定したら動かなかった・・・なんか使ってたかな) とか socket.io あたりが絡んでるのかなーと考えてました。
また折を見て再挑戦します!
僕もやってみたところ、いけました!
返信削除最初は onjiro さんと同じようにエラー画面が出ましたが、heroku logs で見るとPORTがまずいっぽいことが書いてましたので、
以下を参考に app.js を修正しました。
http://d.hatena.ne.jp/yosuke_furukawa/20110803/1312361207
// 接続ポートを設定
-var port = program.port || 3008;
+var port = program.port || process.env.PORT || 3000;
どうやら heroku 側で用意する port 番号で起動しないといけないっぽいですね。
おお!情報ありがとうございます、port 番号の問題でしたかー
返信削除heroku logs は見ていたのですが、見逃していたみたいです。。。
ともあれ無事に動作したようで、おめでとうございます!