我打算使用node.js做三个网站。我在网站中有一些常见的模板。我应该在单个node.js实例上运行所有三个站点吗?
我知道'vhost'中间件允许您在单个http服务器上运行多个域。有没有更好的选择呢?
我还有一些静态html模板,不知道如何在node.js中处理这些模板?
最后,我想知道这种设置的托管选项?
答案 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