1

ノードjsリスニングポート80で3つの別々のアプリを実行する必要があります。現在、この方法を使用しています

app.get('/barcelona/*', function(request, response) {

});
app.get('/real_madrid/*', function(request, response) {

});
app.get('/manchester/*', function(request, response) {

});

「barcelona」、「real_madrid」、「manchester」で何かを変更すると、すべてのアプリケーションを再起動する必要があります。構文エラーが発生すると、アプリ全体がダウンします。phpのようなものが欲しいです。アプリのエラーはお互いに影響しません。どうすればこれを行うことができますか?

4

2 に答える 2

2

これを行う一般的な方法は、 nginxなどのプロキシを前に置くことです。プロキシは、リクエストを特定の Node.js ベースのアプリケーションに透過的にルーティングできます。

于 2013-02-04T04:09:50.167 に答える
1

これには2回に分けてお答えします。

  1. 例外処理。Node.js では、アプリケーションの実行中に例外が発生すると、アプリケーション全体がダウンします。同じことの主な理由は、JavaScript のシングル スレッドの性質です。ランタイムに任せるのではなく、アプリケーションで例外を処理する方が常に優れています。

  2. 変更/バグ修正後の再展開。私はNaught.jsを使用して、本番環境での展開を管理しています。Naught.js はノード プロセスを監視し、アプリケーションがダウンした場合はプロセスを再起動します。コードの変更後、Naught.js を使用して変更をデプロイできます。Naught.js は、最新の変更を加えた新しいプロセスを立ち上げた後にのみ、古いプロセスをシャットダウンします。これにより、アプリケーションのダウンタイムがゼロになります。Forverも同様のことを行います。

アプリケーションの複数のインスタンスを実行したい場合は、これを試すことができます。

于 2013-02-04T04:36:03.443 に答える