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

Nginx as a web server or Node JS with Cloudfront CDN

我读过很多文章,将 Nginx 用作 Web 服务器的主要优势在于它可以提高性能,尤其是因为它可以快速处理静态数据。

我已经使用 Cloudfront CDN(亚马逊服务)固定静态数据。

那么,我有什么真正的理由更喜欢使用 Nginx 而不是 Node JS 作为网络服务器吗?

你的情况没有优势。选择 CDN 来传送静态内容是个好主意。 (CDN 不仅为您的内容提供服务,而且还在其网络中缓存它,因此大多数区域都可以看到同等的性能。)这会从您的 NodeJS 应用程序服务器上分担大量的工作。

然而,NGINX 与像 NodeJS 这样的应用程序服务器结合起来会非常有用。大多数人使用 NGINX 作为反向代理,它位于应用程序服务器集群的前面,并平均分配流量负载。

其他很酷的技巧包括用于蓝绿部署的热交换 NGINX 配置;所以您永远不必为了升级而停止服务。

如果你有钱又有时间,这些都是值得你袖手旁观的技巧。

这取决于你认为 "real reasons" 是什么。

我认为最重要的原因包括安全问题——Nginx 是一个专用的 web 服务器,而 Node.js 是一个 JavaScript 运行 时间,因此 Nginx 专注于与服务相关的问题,而 Nodejs 内置服务器只是一个附加实用程序,因此没有受到太多关注。这种部署的另一个好处是可配置性——例如,您可以切换节点 运行 次而几乎没有停机时间(因为您可以同时 运行 两个 nodejs 实例),甚至可以缓慢地将流量移动到你的新服务器。

你也可以看看:Using Node.js only vs. using Node.js with Apache/Nginx and http://blog.modulus.io/supercharge-your-nodejs-applications-with-nginx

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