2013-05-09 63 views
2

我看到很多帖子,其中人们推荐nginx或类似于node.js的前端网络服务器。
由于节点必须创建一个Web服务器的功能,如:node.js前端网络服务器

var http = require('http'); 
var static = require('node-static'); 
var file = new static.Server(); 
var url = require('url'); 

var index = require('./serverJS/index.js'); 
var login = require('./serverJS/login.js'); 
var admin_index = require('./serverJS/admin_index.js'); 
var admin_login = require('./serverJS/admin_login.js'); 

http.createServer(function (req, res) { 
    if (url.parse(req.url).pathname == '/index') { 
     index.serve(req, res); 
    } else if (url.parse(req.url).pathname == '/login') { 
     login.serve(req, res); 
    } else if (url.parse(req.url).pathname == '/admin/index') { 
     admin_index.serve(req, res); 
    } else if (url.parse(req.url).pathname == '/admin/login') { 
     admin_login.serve(req, res); 
    } else { 
     file.serve(req, res); 
    } 
}).listen(9000 , '127.0.0.1'); 


问:在什么样的情况下会需要在ADITION到节点的另一台Web服务器?

回答

2

前端Nginx在提供静态资产方面效率更高。

如果您希望运行多个后端服务器,如Node.js与Apache/PHP结合使用,其中Node.js服务某些路由,而Apache/PHP服务于其他路由,则前端Nginx也会很有用。

+0

会有超过1个web服务器,比如'node.js' +'apache/php'的规模好吗?或者这没有什么区别? – 2013-05-09 19:45:10

+1

@tq静态资产就像(静态)HTML页面或图像。不需要由服务器预处理的东西。 – Kninnug 2013-05-09 20:05:53

+1

拥有一个后端node.js和一个后端apache/php可以缩放得很好,只要你配置正确。如果你推动那么多的流量,那么你会为Nginx,Node.js和Apache分开服务器。只要你开发你的应用程序来正确扩展,那么结合Nginx,Node.js和Apache就不是问题。 – Daniel 2013-05-09 20:47:45