Nginx(提供html)和Node.js设置

Nginx (serving html) and Node.js setup

本文关键字:Node js 设置 提供 html Nginx      更新时间:2023-09-26

我正在考虑构建一个单页的Web应用程序,仅使用javascript来更新页面(无需重新加载)。所以我对使用哪种设置感到困惑。

我对这两种技术都有点陌生,所以我想知道您是否可以将nginx设置为像普通Web服务器一样提供html(+ js,css和其他静态资源),然后从这些页面连接到节点.js websocket服务器(相同的主机/ip)使用类似 socket.io 的东西?

这种设置是好是坏?什么是更好的方法?如果我在node中提供html页面.js并从nginx获取静态资源(css,js,images等),我会得到什么好处?

我不认为从nodejs本身提供少量图像和静态html会成为瓶颈,理想情况下,如果您需要在多个服务器之间进行负载平衡以及将内部HTTP服务公开为https流量,则需要像nginx这样的前端代理。如果你没有这个要求,恕我直言,那将是矫枉过正。

从当前接受的答案中的各种评论中,我想注意以下几点。

NodeJS本身在提供静态内容方面做得相当不错,在许多情况下与nginx一样好。

尝试代理 WebSocket 连接目前充其量是有问题的,因为大多数代理代码根本不支持它。 目前,最好直接使用 Node。

如果需要单独交付静态内容,最好在此时使用另一个域和 CDN。