节点和反应同构渲染架构

时间:2015-11-13 17:03:02

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

所以我理解了使用React / Node进行同构渲染的基本原理,但我对如何将Apache或NGINX融入我的风景感到困惑。

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

查看带有React的同构页面,该页面最初在节点服务器上呈现,并且更改从服务器提供给客户端。我还可以使用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实例来获取数据,呈现新部分并将其提供给客户端?

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

1 个答案:

答案 0 :(得分:0)

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

是的,如果您计划大规模运行,那么在服务器前使用反向代理/负载均衡器是一个好主意。