index.htmlをデプロイするだけなら 'touch index.php;', 'echo 'php_flag engine off' > .htaccess' が最速なんだけど、ルートディレクトリに静的アセットを起きたくないという理由でなんか嫌だった。
Rubyの人ならrack upするアプリ書くんだろうけど、nodeでビルドツール使いまくったリポジトリなので、nodeでやる。
npmとrubyとheroku toolbelt が入ってるのを前提。
環境構築
npmからexpressだけ入れとく。
npm init # package.jsonがないなら
npm install express --save
package.jsonに追記
"engines": {
"node": "0.10.x"
},
node v0.10系を使えという指定
server.js
var express = require('express')
, http = require('http')
, app = express()
;
app.use(express.static(__dirname + '/public'));
var port = process.env.PORT || 5000;
var server = http.createServer(app).listen(port);
buildのところがホストしたいindex.htmlを含むディレクトリ
Procfile
web: node server.js
Foreman 入れて動作確認する
gem install foreman
foreman start
localhost:5000で動いれてればおk
ディレクトリはたぶんこうなってる
- .git
- .gitignore
- package.json
- server.js
- public/ # index.html等、ホストするファイルを含むディレクトリ
- Procfile
node_modulesとかは適宜.gitignore してください
デプロイ
git init; git add .; git commit -m"init" # もしやってないなら
heroku create
git push heroku master
heroku ps:scale web=1 # dynoの数を1 に
heroku open # ブラウザで開く
動いた