16. 动静分离
16.1 什么是动静分离
动静分离是指在web服务器架构中,将静态页面与动态页面或者静态内容接口和动态内容接口分开不同系统访问的架构设计方法,进而提升整个服务访问性能和可维护性。
nginx 的动静分离,指的是由 nginx 将客户端请求进行分类转发,静态资源请求(如html、css、图片等)由静态资源服务器处理,动态资源请求(如 jsp页面、servlet程序等)由 tomcat 服务器处理,
tomcat 本身是用来处理动态资源的,同时 tomcat 也能处理静态资源,但是 tomcat 本身处理静态资源的效率并不高,而且还会带来额外的资源开销。
利用 nginx 实现动静分离的架构,能够让 tomcat 专注于处理动态资源,静态资源统一由静态资源服务器处理,从而提升整个服务系统的性能

16.2 准备测试资源
在 nginx 服务器中准备一张图片用于测试访问

动态资源测试直接访问 tomcat 首页 index.jsp
192.168.169.152:8080
16.3 修改 nginx 配置文件
upstream static {
server 192.168.169.151:80;
}
upstream php {
server 192.168.169.152:8080;
}
server {
listen 80;
server_name 192.168.169.151;
#静态资源加载
location ~ .*\.(html|jpg|png|css|js)$ {
proxy_pass http://static;
}
#动态资源加载
location / {
proxy_pass http://php;
}
}
# 注:本次按以上配置测试时发现在访问 index.jsp 时无法返回 jsp 相关的“样式、图片”,因为在 location 中将这些文件匹配到静态资源中进行加载,所以这里要注意一下
server {
listen 80;
server_name 192.168.169.151;
#静态资源加载
location ~ .*\.(html|jpg)$ {
proxy_pass http://static;
}
#动态资源加载
location / {
proxy_pass http://php;
}
}
16.4 测试
访问 http://192.168.169.151/zabbix.jpg

访问 192.168.169.151/index.jsp

版权声明:本文为D1179869625原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。