如何在节点js中运行多个应用程序?

时间:2013-02-04 04:06:34

标签: javascript node.js express

我必须在节点js监听端口80中运行三个单独的应用程序。现在我正在使用此方法

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

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

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

});

当我在“barcelona”或“real_madrid”或“manchester”中更改某些内容时,我必须重启所有内容 我的应用程序。如果出现任何语法错误,整个应用程序将关闭。我想要像php这样的东西。应用程序中的错误不会互相影响。我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

执行此操作的常用方法是在前面放置代理,例如nginx。代理可以透明地将请求路由到特定的基于Node.js的应用程序。

答案 1 :(得分:1)

我将分两部分回答这个问题。

  1. 处理例外。在Node.js中,如果在执行应用程序时发生异常,整个应用程序将被关闭。同样的主要原因是JavaScript的单线程特性。它总是更好地处理应用程序中的异常而不是留给运行时。

  2. 更改/错误修复后重新部署。我使用Naught.js来管理我在生产中的部署。 Naught.js将监视您的节点进程,如果您的应用程序出现故障,它将重新启动该进程。代码更改后,您可以使用Naught.js来部署更改。只有在使用最新更改启动新进程后,Naught.js才会关闭旧进程。这将确保您的应用程序零停机。 Forver也做了类似的事情。

  3. 如果您正在寻找运行应用程序的多个实例,可以尝试this