2013-02-04 180 views
1

我要运行在节点JS监听端口80.Now三个独立的应用程序,我现在用的这个方法如何在节点js中运行多个应用程序?

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

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

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

}); 

,当我在“巴塞罗那”或“real_madrid”或“曼彻斯特”改变的东西,我必须重新启动所有 我的应用程序。如果有任何语法错误,整个应用程序将会下降。我想要的东西像php.the应用程序中的错误不会互相影响。我该如何做?

+1

如果这些应用程序是完全独立的,那么创建三个独立的服务器并使用反向代理更好。 –

回答

2

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

1

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

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

  2. 修改后重新部署/ bug修复。我使用Naught.js来管理我在生产中的部署。 Naught.js将监视您的节点进程,并且如果您的应用程序停止运行,它将重新启动进程。代码更改后,您可以使用Naught.js来部署更改。 Naught.js只会在启动一个包含最新更改的新进程后关闭旧进程。这将确保您的应用程序的零停机时间。 Forver也做类似的事情。

如果你正在寻找运行应用程序的多个实例,你可以尝试this出来。

+0

如何设置线程对未处理的异常没有影响。如果您的应用程序由于未处理的异常而崩溃,那么如果您有100个线程,则无关紧要。线程与流程混淆在一起。 – Brad

相关问题