一、技术介绍
为了提高网站的响应速度,减轻程序服务器(Tomcat,Jboss等)的负载,对于静态资源比如图片,js,css等文件,我们可以在反向代理服务器中进行缓存,这样浏览器在请求一个静态资源时,代理服务器就可以直接处理,而不用将请求转发给后端服务器。用户请求的动态文件比如servlet,jsp则转发给Tomcat,Jboss服务器处理,这就是动静分离。这也是反向代理服务器的一个重要的作用。
本文的动静分离主要是通过nginx+tomcat来实现,其中nginx处理图片、html、JS、CSS等静态文件,tomcat处理jsp、servlet等动态请求。

二、原理拓扑
nginx+tomcat实现动静分离_第1张图片

三、相关配置

nginx上配置:
nginx+tomcat实现动静分离_第2张图片

动态请求转发到tomcat这台服务器上
如果tomcat上有图片等路径,需要在nginx上也添加相应路径及资源。

nginx+tomcat实现动静分离_第3张图片

tomcat中的配置:
nginx+tomcat实现动静分离_第4张图片

图片的路径是webapps下的img
nginx+tomcat实现动静分离

四、访问测试
动态请求
nginx+tomcat实现动静分离_第5张图片

静态请求
nginx+tomcat实现动静分离_第6张图片