開発プロジェクトをホストするためのサイトがあります。各プロジェクトはnode.js
ファイルです。問題は、同時に 1 つのプロジェクトしかオンラインにできないことです。別のポートでホストしている場合を除きます。しかし、次のような 2 つのプロジェクトを公開したいとします: my_site.com/foo
、my_site.com/bar
、最初のプロジェクトは "foo.js" によって管理され、2 つ目のプロジェクトは "bar.js" によって管理されます。どうやってやるの?
質問する
356 次
3 に答える
2
前にプロキシが必要です。個別のノード プロセスごとに異なるポートを割り当てます。プロキシは、ポート 80 のトラフィックを適切なバックエンド ノード プロセスに転送します。
これは node-http-proxy ( https://github.com/nodejitsu/node-http-proxy ) または任意の Web サーバーで実現できます。Nginx と lighttpd を使用すると、驚くほど簡単になります。Apache はそうではありませんが、それでも完全に実行可能です。
于 2013-04-29T01:01:51.643 に答える
1
Node プロセスにリバース プロキシするように Nginx プロセスをセットアップします。Nginx プロセスはポートを保持し、リクエストをバックエンド プロセスに送信し、リクエストをバックエンド プロセスに送信my_site.com/foo
します。node foo.js
my_site.com/bar
node bar.js
このようにして、Node プロセスは完全に独立した状態を保ち、そのうちの 1 つが普及した場合に後で別のサーバーに簡単に分離できます。
于 2013-04-29T01:01:36.507 に答える
0
Express/Connect を使用している場合は、次のようなものを使用できます。
var bar = require("./bar"),
foo = require("./foo");
app.use(express.vhost("my_site.com/bar", bar));
app.use(express.vhost("my_site.com/foo", foo));
別ファイルです。
注:テストされていません
于 2013-04-30T00:55:09.720 に答える