7

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

我知道允许您在单个 http 服务器上运行多个域的“虚拟主机”中间件。有没有更好的选择来做到这一点?

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

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

4

1 回答 1

15

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

我使用的是这里: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
于 2012-10-28T12:31:54.693 回答