Node.jsとExpressとheroku
こないだNode.js+Expressでシンプルなサイト作ってherokuにリリースしました。
(サイトの内容はRailsだったりします)
んで、デフォルトのExpressのnew(だったっけ?)だと、herokuにリリースするまで変更がわりとあったので、メモ代わりに書いておきます。
動作環境:
- Mac OS X 10.7.2 Lion
- Homebrew 0.8.1
- node 0.6.15
ソース:
https://github.com/satomicchy/RailsHackathon2012
サイト:
http://railshackathon2012.herokuapp.com/
変更点:
- app.jsをweb.jsにファイル名変更
- web.js(app.js)内のapp.listenにport追加
-app.listen(3000, function(){
+var port = process.env.PORT || 3000;
+
+app.listen(port, function(){
console.log("Express server listening on port %d in %s mode", app.address().port, app.s
});
- プロジェクトディレクトリ直下にProcfileという名前のファイル追加(中身は以下の一行のみ)
web: node web.js
- package.jsonの編集
- "name": "application-name"
+ "name": "railshackathon2012"
, "version": "0.0.1"
- , "private": true
, "dependencies": {
"express": "2.5.8"
, "jade": ">= 0.0.1"
- , "ejs": ""
- , "less": ""
- , "sequelize": ""
- , "passport": ""
- , "passport-twitter": ""全部が全部ホントにこうしないといけないかは、ひとつずつ試したわけではないので、結果的にこうなった可能性もあります。