Hatena::ブログ(Diary)

ぽりぴぃすらいと このページをアンテナに追加 RSSフィード

プロフィール

muddydixon

muddydixon

すきなものたれながし

カテゴリー
言及ISBN/ASIN
  • ディレクターズ・カット 燃えよドラゴン 特別版 [DVD]
  • クレイジー / ビューティフル [DVD]
  • 岩波講座 ソフトウェア科学〈〔知識〕15〉自然言語処理
  • Death Proof
  • ノッキン・オン・ヘブンズ・ドア [DVD]
  • 死ぬまでにしたい10のこと [DVD]
  • しゃべれども しゃべれども 特別版 (初回限定生産2枚組) [DVD]
  • かぶく者(1) (モーニング KC)
  • かぶく者(2) (モーニング KC)
  • ハライソ―笑う吸血鬼 2
  • レッド(1) (KCデラックス イブニング)
  • マジで儲かる5秒前!知らないあなたが大損しているタウンページ戦略法
  • DS文学全集
  • DS文学全集
  • Backdraft [VHS] [Import]
  • Grindhouse: The Sleaze-filled Saga of an Exploitation Double Feature
  • フロム・ダスク・ティル・ドーン [DVD]
  • ノッキン・オン・ヘブンズ・ドア [DVD]
  • 時計じかけのオレンジ [DVD]

2011/05/11(Wed)

複数Webアプリを1つのホストで立ち上げる方法

| 02:05 | 複数Webアプリを1つのホストで立ち上げる方法 - ぽりぴぃすらいと を含むブックマーク 複数Webアプリを1つのホストで立ち上げる方法 - ぽりぴぃすらいと のブックマークコメント

expressを使うとわりかし簡単にWebアプリを作れます。

で、いくつもつくって立ち上げ続けたいのですが、ポートをいちいち分けてアクセスするのもイケてないです。

そんな時に使うのがnode-http-proxyを使います。

node-http-proxy自体は結構色々出来るんですが、タイトル通りのことしかしない場合の方法をメモしておきます。

$ npm install http-proxy -g
$ npm link http-proxy
  • ~/usr/Router/app.js
var httpProxy = require('http-proxy')
  , options = {
      router : {
        'hoge' : 'localhost:8001',
        'fuga' : 'localhost:8002' //勝手に増やせばよい
      }
    }
  , proxyServer = httpProxy.createServer(options)
  , apacheUID;
proxyServer.listen(80);

process.setuid(apacheUID);

こうしておけば、ルーティングしてくれます。あとは、アプリを適当なポートで立ち上げるだけです。

ざ・簡単!

nodeの実行ユーザの変更

あ、あと、嬉しそうにexpressでwebアプリとか作って、「ダサいから」という理由で80(<1024)ポートで上げたくなりますが、sudoとかしてroot権限でやったりしたら大変です。

ちゃんと以下のようにしてapache程度にしておきましょう。

上のコードで言うと最後の行がそれです。

process.setuid()

で変えることができます。

あ、サーバを立ち上げる前に変えちゃうと80番使えなくなります。

はてなユーザーのみコメントできます。はてなへログインもしくは新規登録をおこなってください。