在node.js上运行多个站点

时间:2012-10-28 11:48:35

标签: node.js

我打算使用node.js做三个网站。我在网站中有一些常见的模板。我应该在单个node.js实例上运行所有三个站点吗?

我知道'vhost'中间件允许您在单个http服务器上运行多个域。有没有更好的选择呢?

我还有一些静态html模板,不知道如何在node.js中处理这些模板?

最后,我想知道这种设置的托管选项?

1 个答案:

答案 0 :(得分:14)

我自己也必须做同样的事情。你想要做的是使用某种反向代理。

我使用的是:https://github.com/nodejitsu/node-http-proxy

只需安装代理软件包:npm install http-proxy

我所做的是在端口80上的服务器上运行代理。我在每个域上设置DNS以指向此服务器。

每个应用程序都在同一台服务器上运行(即时使用屏幕)。

例如:

MySiteApplication1 - 3001
MySiteApplication2 - 3002
MySiteApplication3 - 3003

然后您的代理服务器文件将如下所示

var httpProxy = require('http-proxy');

var server = httpProxy.createServer({
   router: {
     'mysite1.com': 'localhost:3001',
     'mysite2.com': 'localhost:3002',
     'mysite3.com': 'localhost:3003'
   }
});

server.listen 80