1.什么是动静分离
将动态请求和静态请求区分访问
2.为什么要做动静分离
tomcat本身处理静态效率不高,还会带来资源开销.所以使用动静分离,将静态由Nginx处理, 动态由PHP处理或Tomcat处理
3.如何实现动静分离
Nginx根据客户端请求的url来判断请求的是否是静态资源,如果请求的url包含jpg、png,则由Nginx处理。 如果请求的url是.php或者.jsp等等,这个时候这个请求是动态的,将转发给tomcat处理
总结来说,Nginx是通过url来区分请求的类型,并转发给不同的服务端
3.1、首先在Nginx安装的目录下创建一个存放静态文件的文件夹:
#创建存放静态文件的文件夹 mkder /usr/local/nginx/static
3.2、编辑nginx配置文件
vim /usr/local/nginx/conf/nginx.conf
在server标签内部添加如下配置信息
#所有js,css相关的静态资源文件的请求由Nginx处理 location ~.*\.(js|css)$ { root /opt/static-resources; #指定文件路径 expires 12h; #过期时间为12小时 } #所有图片等多媒体相关静态资源文件的请求由Nginx处理 location ~.*\.(html|jpg|jpeg|png|bmp|gif|ico|mp3|mid|wma|mp4|swf|flv|rar|zip|txt|doc|ppt|xls|pdf)$ { root /opt/static-resources; #指定文件路径 expires 7d; #过期时间为7天 }
3.4、重启Nginx
#切换到nginx目录下 cd /usr/local/nginx #进入操作命令文件夹 cd /sbin #重启 ./nginx -s reload