Nginx作为Web服务器或具有Cloudfront CDN的Node JS

时间:2016-04-18 07:42:12

标签: node.js nginx webserver

我读过许多文章,说使用Nginx作为Web服务器的主要优点是它可以保证您的性能,特别是因为它可以快速处理静态数据。

我已经使用Cloudfront CDN(亚马逊服务)来修复静态数据。

那么,我是否有任何真正的理由希望使用Nginx而不是Node JS作为Web服务器?

2 个答案:

答案 0 :(得分:3)

在您的情况下没有优势。选择CDN来提供静态内容是个好主意。 (CDN不仅为您的内容提供服务,而且还将其缓存在网络中,因此大多数语言环境都具有相同的性能。)这可以减轻NodeJS应用服务器的大量人力。

然而,NGINX与NodeJS等应用服务器结合使用非常有用。大多数人使用NGINX作为反向代理,即它位于应用服务器集群的前面,并均匀分配流量负载。

其他很酷的技巧包括用于蓝绿色部署的hotswapping NGINX配置;所以你永远不必停止升级服务。

如果你有钱和时间这些伎俩值得你袖手旁观。

答案 1 :(得分:0)

这取决于你认为“真正的原因”是什么。

我认为最重要的原因包括安全问题--Nginx是一个专用的Web服务器,而Node.js是一个JavaScript运行时,因此Nginx专注于与服务相关的问题,而Nodejs内置服务器只是一个额外的实用程序,因此不是得到了很多关注。此类部署的另一个好处是可配置性 - 例如,您可以在几乎没有停机时间的情况下切换节点运行时(因为您可以同时运行两个nodejs实例),甚至可以将流量缓慢地移动到新服务器。

您还可以查看:Using Node.js only vs. using Node.js with Apache/Nginxhttp://blog.modulus.io/supercharge-your-nodejs-applications-with-nginx

对于应用程序服务器与Web服务器,您可能也会对更一般的问题感兴趣:What is the difference between application server and web server?