【问题标题】:Node and React Isomorphic Rendering ArchitectureNode 和 React 同构渲染架构
【发布时间】:2016-02-15 08:21:54
【问题描述】:

所以我了解使用 React / Node 进行同构渲染的基础知识,但我对如何将 Apache 或 NGINX 融入我的环境感到困惑。

通常,对于客户端页面,我只提供来自 Apache 或 NGINX 的静态内容,而客户端页面将对 Node.js 进行 AJAX 调用(通过 Apache 或 NGINX 进行反向代理)。节点会提供数据,页面会相应地改变。

使用 React 查看同构页面,页面最初在 Node 服务器上呈现,并且更改从服务器提供给客户端。我仍然可以使用 Apache 或 NGINX 来负载平衡和反向代理我的请求吗?

例如,我将有一个 Node 实例为我的 API 提供服务,一个 Node 实例用于渲染 React 并将其提供给客户端。在这个例子中,我可以负载平衡、反向代理我的调用,并从 Apache/NGINX 提供我的 .js 和 .css 包吗?在此示例中,用户将访问 www.example.com/ - 这将首先转到 Apache/NGINX,后者将反向代理对节点服务器的调用,节点服务器将呈现页面并将其提供给客户端。然后,在页面上,客户端将单击某个按钮并访问 www.example.com/api/test,这也将转到 Apache/NGINX 并反向代理到第二个 Node 实例,这会将数据返回给客户端.还是应该单击该按钮返回到第一个 Node 实例(进行渲染的地方),然后该 Node 实例调用第二个 Node 实例来获取数据、渲染新片段并将其返回给客户端?

基本上,我想要一个同构应用程序,它具有在我的节点服务器前安装 Apache 或 NGINX 的所有好处。这是可能的和/或最佳实践吗?如果不是,那么对于同构应用程序来说,理想的环境是什么,这样我仍然可以将 Apache 或 NGINX 的所有优点作为我的 web 应用程序的入口点?

【问题讨论】:

    标签: node.js apache nginx reactjs isomorphic-javascript


    【解决方案1】:

    是的,应该一切正常。 React/Node 服务器只呈现 html,并且可以像任何其他 html 后端一样进行反向代理。

    是的,如果您打算大规模运行某些东西,在您的服务器前使用反向代理/负载均衡器是一个好主意。

    【讨论】:

    • 这是个好消息!谢谢你的快速反应。不过,我确实有一个后续问题:我的所有静态资产(js、css、图像)是存储在 Apache/NGINX 上还是通过 Node 服务器存储和提供的?
    • 显然两者都有效,我想说这取决于您希望在易于部署与峰值性能范围内的位置。我个人会选择最简单的方法,然后开始关注规模/速度/等,因为我发现自己需要添加机器和/或处理较差的延迟(即没有过早的优化)。
    猜你喜欢
    • 2016-08-02
    • 2016-09-14
    • 1970-01-01
    • 2016-10-07
    • 2015-02-04
    • 2017-07-07
    • 2023-04-01
    • 2019-02-01
    • 2017-03-04
    相关资源
    最近更新 更多