Nginx:Nginx动静分离
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标签,内部添加动静分离配置:
在server标签内部添加如下配置信息:
#通过url判断如下后缀为静态文件,并转至静态文件路径获取文件 location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ { #某用户下的 静态文件路径 root /opt/nginx/static/; #缓存有效期 30d = 30天,也可以去掉 expires 30d; }
重启Nginx
#切换到nginx目录下 cd /opt/nginx #进入操作命令文件夹 cd /sbin #重启 ./nginx -s reload
完成!
-----------------------------------
作者:怒吼的萝卜
链接:http://www.cnblogs.com/nhdlb/
-----------------------------------