nodeのアプリをport80で動かす

apache使わずにプロキシサーバをnodeでたてる。
こうするとWebSocketもプロキシ経由で通せるようになる。

npm install http-proxy

でhttp-proxyをインストール(nodeのver0.6.6以上必須)

app.js

var httpProxy = require('http-proxy');
httpProxy.createServer(3000, 'localhost').listen(80);

sudo node app.js

で実行する。sudoでnvmのnodeを使うやり方は http://d.hatena.ne.jp/myatsmoto/20120125/1327443835

port80で稼働しつつデーモン化するのをnodeのみでやろうとすると
upstartを使って設定書かないとイケナイとか複雑になって意外とキツい。

一番シンプルなのが

sudo node app.js &

でさっきのコードを実行したままにする。
エラーが起きると落ちるが、上の1行だけの処理でエラーが起きることはまずない。

それで本丸のアプリをforeverとかを使って別ポートでデーモン化させれば良い。