1.什么是动静分离

将动态请求和静态请求区分访问

2.为什么要做动静分离

tomcat本身处理静态效率不高,还会带来资源开销.所以使用动静分离,将静态由Nginx处理, 动态由PHP处理或Tomcat处理

3.如何实现动静分离

  • Nginx根据客户端请求的url来判断请求的是否是静态资源,如果请求的url包含jpg、png,则由Nginx处理。
  • 如果请求的url是.php或者.jsp等等,这个时候这个请求是动态的,将转发给tomcat处理
总结来说,Nginx是通过url来区分请求的类型,并转发给不同的服务端

我搭建的Nginx是反向代理负载均衡模式,所以把静态文件都存放在Nginx代理服务器上:

 

首先在Nginx安装目录下创建一个存放静态文件的文件夹:

#创建静态文件存储目录
mkdir /opt/nginx/static

 

编辑nginx配置文件

 

#找到nginx的配置文件
cd /opt/nginx/conf

#编辑配置文件
vi nginx.conf

 

 

找到server标签,内部添加动静分离配置:

Nginx:Nginx动静分离

 

在server标签内部添加如下配置信息:

#通过url判断如下后缀为静态文件,并转至静态文件路径获取文件
location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$
{
   #某用户下的 静态文件路径
   root /opt/nginx/static/;
   #缓存有效期  30d = 30天,也可以去掉
   expires 30d;
}

Nginx:Nginx动静分离

 

重启Nginx

#切换到nginx目录下
cd /opt/nginx

#进入操作命令文件夹
cd /sbin

#重启
./nginx -s reload

 

完成!

 

 

相关文章:

  • 2021-09-30
  • 2021-05-26
  • 2021-06-24
  • 2021-12-15
  • 2021-10-09
猜你喜欢
  • 2021-09-01
  • 2021-08-20
  • 2022-01-07
  • 2019-09-29
  • 2021-11-16
相关资源
相似解决方案