
动静分离是指将动态资源(如PHP、JSP等需后端处理的请求)与静态资源(如图片、CSS、JS等无需实时计算的资源)分别交由不同服务处理,以提升整体性能。其核心思路包括:
动静分离的规则通常基于请求类型或URL路径:
.jpg、.css)或固定路径(如/static/)标识 /api/路径或.jsp文件) 。# 静态资源匹配规则(图片、CSS、JS等)
location ~* \.(jpg|css|js)$ {
root /var/www/static;
expires 30d; # 设置缓存时间
}
# 动态请求转发至后端
location /api/ {
proxy_pass http://backend_server;
}root与alias的区别:
root:完整路径拼接(如location /images/ { root /data; } → 文件路径为/data/images/1.jpg)。alias:路径替换(如location /images/ { alias /data/static/; } → 文件路径为/data/static/1.jpg) expires指令设置静态资源缓存时间,减少重复请求 proxy_pass将动态请求转发至后端服务器(如Tomcat、Node.js),并配置反向代理参数(如IP透传) location块处理动静资源,适合小型应用,但存在资源竞争风险 expires 365d),通过文件哈希解决更新问题(如main.css?v=1.0) Cache-Control: no-store),避免数据过期 location匹配遵循优先级:精确匹配(=)> 正则匹配(~)> 前缀匹配(/path)。需避免规则冲突 max_fails和fail_timeout,自动剔除故障节点 /static/v1.2/logo.png),实现平滑更新原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。