我打算使用node.js来执行三个站点。我在这些网站中有一些常见的模板。我应该在单个node.js实例上运行全部三个站点吗?在node.js上运行多个站点
我知道'虚拟主机'中间件,它允许你在单个http服务器上运行多个域。有没有更好的选择来做到这一点?
我也有一些静态html模板,不知道如何处理这些在node.js?
最后我想知道这种设置的托管选项?
我打算使用node.js来执行三个站点。我在这些网站中有一些常见的模板。我应该在单个node.js实例上运行全部三个站点吗?在node.js上运行多个站点
我知道'虚拟主机'中间件,它允许你在单个http服务器上运行多个域。有没有更好的选择来做到这一点?
我也有一些静态html模板,不知道如何处理这些在node.js?
最后我想知道这种设置的托管选项?
我自己只需要做同样的事情。你想要做的是使用某种反向代理。
我使用的一个是在这里: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
谢谢布伦丹,你在哪里托管你的节点应用程序? httpProxy如何在性能方面发挥作用?你有没有得到任何静态数据,如果是的话那你怎么处理这个问题?干杯 –
我在我购买的VPS上托管它。所以像林德这样的东西很好。对于静态数据,你可能想使用像nginx这样的东西,但我没有遇到任何问题。你可以用'ab'来测试它:) – Menztrual
这个答案已经过时了。 'node-http-proxy' [已删除](https://github.com/nodejitsu/node-http-proxy/issues/652)'router'选项,因为它“属于一个单独的模块”。 ['http-master'](https://github.com/encharm/http-master)似乎是对此的答案,并在内部使用'node-http-proxy'。 – Nateowami
您应该使用nginx的。看看这篇文章:http://stackoverflow.com/questions/5009324/node-js-nginx-and-now – Pardoner