【问题标题】:Nginx (serving html) and Node.js setupNginx(服务 html)和 Node.js 设置
【发布时间】:2012-04-13 03:55:02
【问题描述】:

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

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

这个设置是好是坏?什么是更好的方法?如果我在 node.js 中提供 html 页面并从 nginx 获取静态资源(css、js、图像...),我将获得什么优势?

【问题讨论】:

    标签: javascript node.js nginx client-side


    【解决方案1】:

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

    【讨论】:

    • 我之所以这么想,主要是因为解耦。所以我可以有 websockets-only node.js 应用程序。那么在一个应用程序中同时使用 http 和 websockets 就可以了?我真的不希望它长成一个大泥球。
    • 只是让你知道在你深入之前......nginx仍然不支持websockets:)..
    • 我知道。也许整个 nginx 的想法从一开始就有点过度设计...... :)
    • 就解耦而言,您可以让您的 websocket 流量连接到与您的简单 html 服务器页面不同的端口(运行 socket.io 的端口)
    • 如果你真的必须去代理那里有一个不错的选择...github.com/nodejitsu/node-http-proxy
    【解决方案2】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2012-04-04
      • 1970-01-01
      • 1970-01-01
      • 2017-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-26
      相关资源
      最近更新 更多