本文是我最近对Node.js学习过程中产生的一个想法,提出来和大家一起探讨。
Node.js的HTTP服务器
使用Node.js可以非常容易的实现一个http服务,最简的例子如官方网站的示例:
1.基于Node.js单线程特性的原因,其健壮性的保证对开发人员要求比较高。
2.服务器上可能已有其他http服务已占用80端口,而非80端口的web服务对用户显然不够友好。
3.Node.js对文件IO处理并没太大优势,如作为常规网站可能需同时响应图片等文件资源。
4.分布式负载场景也是一个挑战。
所以,使用Node.js作为web服务更多可能是作为游戏服务器接口等类似场景,大多是处理不需用户直接访问且仅作数据交换的服务。
基于Nginx作为前端机的Node.js web服务
基于上述原因,如果是使用Node.js搭建的网站形的产品,常规的使用方式是在Node.js的web服务前端放置另一个成熟的http服务器,如最常使用的是Nginx。
然后使用Nginx作为反向代理访问基于Node.js的web服务。如:
location / {
proxy_pass http://127.0.0.1:1337;
}
location ~ \\.(gif|jpg|png|swf|ico|css|js)$ {
root /home/andy/wwwroot/yekai/static;
}
}
本文地址:https://www.stayed.cn/item/13404
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我