我怎么能在节点js中运行多个应用程序?

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

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

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

这样做的一个常见的方法是把一个代理放在前面,比如nginx 。 代理可以透明地将请求路由到特定的基于Node.js的应用程序。

我将分两部分回答。

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

  2. 修改/修正错误后重新部署 。 我使用Naught.js来pipe理生产中的部署。 Naught.js会监视你的节点进程,如果你的应用程序停止运行,它将重启进程。 代码更改后,您可以使用Naught.js来部署更改。 Naught.js只有在启动一个新的进程后才会closures旧的进程。 这将确保您的应用程序的零停机时间。 Forver也做了类似的事情。

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