前后端分离项目,前端为什么要用 Nginx?
前后端分离项目,前端为什么要用 Nginx?
论天下大势,分久必合,合久必分。
直奔主题
前后端分离项目,部署方式无非两种,分开部署、合起来部署。
分开部署
后端随意,Jetty、Tomcat等等,跑起来,前端能访问 API 即可;
前端部署,Nginx首选吧。
Nginx是一款轻量级的 Web服务器,占有内存少,并发能力强,支持反向代理,负载均衡和容错,
配置简单,轻松支持https、反向代理可以方便地解决前后端跨域问题。
合起来部署
不喷,前后端分离项目合一起是不好的,既然都分离开发了,又何必合起来呢,各自维护不香吗?
jar包部署的话,前后端合在一起,更新前端时,需要重新打包部署;
非jar包部署,还好点,更新前端静态资源一般不需要重启服务,理论上 Tomcat 和 Jetty 是差不多的。
总结一下
看题目也能看出来,我是建议使用 Nginx 的。
- 轻松支持 https
- 解决前后端跨域问题
- 前后端解耦,方便维护以及负载均衡
- Nginx静态资源处理性能要比后端常用的容器高数倍
- Nginx接收外部访问,类似于后端服务的防火墙,更安全
这个问题看起来理所当然,但是真的要说出来,还是需要思考下的。