動靜分離是將網站靜態資源(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 ;
}
}
