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