动静分离是将网站静态资源(HTML,JavaScript,CSS,img等文件)与后台应用分开部署,提高用户访问静态代码的速度,降低对后台应用访问。
动静分离的一种常用做法:将静态资源部署在nginx上,后台项目部署到应用服务器上,根据一定规则静态资源的请求调度到nginx服务器,达到动静分离的目标。
配置示例:
server { listen 80; server_name kevin.com; access_log /data/nginx/logs/kevin.com-access.log main; error_log /data/nginx/logs/kevin.com-error.log; #动态访问请求转给tomcat应用处理 location ~ .(jsp|page|do)?$ { #以这些文件结尾的 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_pass http://tomcat地址; } #设定访问静态文件直接读取不经过tomcat location ~ .*.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$ { #以这些文件结尾的 expires 30d; root /data/web/html ; } }