在node.js生命周期中,我有哪些选择?

时间:2012-03-24 19:53:45

标签: node.js

是否有关于如何使用node.js托管多个Web应用程序的示例或约定?

我已经知道节点本身可以​​用来构建一个服务器,但是我很好奇是否有一些实现你不一定总是运行它。严格来说,可能有多个站点被托管,每个站点都有自己的框架副本,静态文件和自定义功能。

或者您可能运行一个节点实例并编写多站点架构代码以确保一个坏站点不会以某种方式关闭服务器?

虚拟主机,确保一个站点不会崩溃其他站点...这些都是其他平台已经考虑过的事情,但是我在查找节点时遇到了一些困难! :)

我已经知道连接,快递和其他中间件,但它不包括我在这里要求的内容。

1 个答案:

答案 0 :(得分:3)

如果您担心运行时隔离,每个“站点”应该运行它自己的节点进程。然后使用像node-http-proxy这样的代理来执行基于主机头的路由。另一个基于节点的大选项是bouncy,但您不一定需要使用节点来执行基于主机的路由。你也可以使用haproxy,nginx等。

每个节点进程的基线RAM开销非常小(~10mb-15mb)。此外,如果您执行基于HTTP的路由,您可以轻松地跨机器,用户主目录等扩展您的站点。

如果要以编程方式处理站点/主机注册,我将使用seaport,然后将主机名和主机+端口详细信息传回给代理,以便路由表可以动态显示。这也可以很容易地跨多个节点进程扩展站点。

祝你好运!