Nginx(反向代理)+Tomcat动静部署

推荐链接:https://xuexb.github.io/learn-nginx/

单一web应用nginx+tomcat动静分离原理:
  服务端接收来自客户端的请求中,有一部分是静态资源的请求,例如html,css,js和图片资源等等,有一部分是动态数据的请求。

  处理静态资源的速度比较慢,所以我们可以考虑把所有静态资源独立开来,交给处理静态资源更快的服务器例如nginx处理,而把动态请求交给tomcat处理。

  如下图所示,我们在机器上同时安装了nginx和tomcat,把所有的静态资源都部署在nginx,把动态请求的程序都部署在tomcat的webapp目录下面,当客户端访问服务端的时候,如果是静态资源的请求,就直接到nginx的目录下面获取资源,如果是动态资源的请求,nginx利用反向代理的原理,把请求转发给tomcat进行处理,这样就实现了动静分离,提高了服务器处理请求的性能。
在这里插入图片描述
本例场景:和以上单应用不同。本例需要部署两个应用,静态+动态两个。 一个静态html项目,一个动态jsp+java后端项目。nginx只处理静态项目,对动态请求直接转发给tomcat处理,tomcat处理后返回。

本例架构:
在这里插入图片描述
本例对一个html静态项目、一个jsp动态项目,分别部署在同一ip主机下的nginx和tomcat,对外暴露的访问入口分别为域名、域名/项目名。
如: 访问http://abc.top,直接返回nginx下部署的静态html,访问http://abc.top/project1,nginx将请求转发给tomcat。

①访问静态资源,url为:
在这里插入图片描述
在这里插入图片描述
②访问动态项目,请求加上了/项目名
在这里插入图片描述
执行后,地址栏变化了(疑问:这里的地址应该变化吗?
在这里插入图片描述
在这里插入图片描述
部署及配置:
nginx核心配置
在这里插入图片描述
总结: 动静分离理论上是针对一个应用中的动态、静态文件做的分别部署。本例的场景中,2个应用,部署在同一域名下,所有请求发送到nginx,使用nginx返回请求A的静态资源,并把针对B的请求转发给B。

后记:学习笔记,研究中。错误、不足之处,望各位读者不吝赐教。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jerryzhou;

您的鼓励,将是我的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值