网站动静分离部署步骤有哪些,缓存规则怎么配置?

网站动静分离部署的核心是先把静态资源与动态请求拆到不同域名或服务,再按“静态资源长缓存、动态接口短缓存或不缓存”配置缓存规则,执行顺序建议是资源梳理、域名规划、源站拆分、反向代理、缓存规则、灰度验证。

网站动静分离部署步骤有哪些?从资源梳理到上线验证

动静分离不是把文件挪个位置就结束,它要解决三件事:静态资源不走应用服务器、动态请求不被缓存拖累、缓存失效能可控刷新,下面按实操顺序拆开。

前端部署和资源缓存管理实战
加载中
前端部署和资源缓存管理实战
三
三十的前端课
8171--
原视频地址

资源梳理:先分清哪些文件能长缓存

先把网站资源分成三类,不然后面缓存规则会配乱。

  • 静态资源:CSS、JavaScript、图片、字体、视频、下载包,它们适合长缓存,但要用文件名哈希或版本号控制更新。
  • 动态请求:登录、购物车、订单、支付、库存、价格接口,它们通常不能缓存,或只能极短缓存,商品详情页HTML、文章页HTML、列表页,可短缓存,也可边缘包含动态片段。

操作路径:在浏览器开发者工具打开Network面板,按类型筛选资源,记录请求域名、响应头、文件大小,把“每次请求都回源”的资源单独标记,静态资源统一放到/static/、/assets/、/uploads/目录,动态接口统一放到/api/路径,这样Nginx和CDN都能按路径写规则。

域名与目录规划:避免Cookie和跨域混乱

静态资源最好独立域名,例如static.example.com、img.example.com,主站www.example.com只负责HTML和动态接口,好处是静态域名可以关闭Cookie传递,减少请求头体积;CDN回源也清晰。

  • 静态域名:只放CSS、JS、图片、字体,开启公共缓存。
  • 图片域名:可单独设置图片处理、WebP转换、缩略图规则。
  • API域名:只走动态代理,禁用公共缓存。
  • 字体文件:若跨域加载,静态源站要配置Access-Control-Allow-Origin,否则浏览器会拦截。

行业共识认为,静态资源独立域名后,缓存策略更容易按域名统一管理,别把登录态带到静态域名上,避免CDN缓存到带用户信息的响应。

源站拆分:静态服务与动态服务各干各的

静态源站可以用Nginx直接托管目录,也可以放对象存储,动态源站继续跑PHP-FPM、Java、Node或Python应用,两边的扩容方式不同,静态源站更适合水平扩展和CDN回源,动态源站按CPU和内存扩容。

Nginx静态源站常见配置如下:

server {
    listen 80;
    server_name static.example.com;
    root /data/static;
    location ~ \.(css|js|png|jpg|jpeg|webp|svg|woff2)$ {
        expires 30d;
        add_header Cache-Control "public, max-age=2592000, immutable";
        access_log off;
    }
}

Nginx官方文档说明,expires指令会同时影响Expires和Cache-Control响应头,生产环境更建议直接写Cache-Control,把max-age、public、immutable说清楚。immutable适合文件名带哈希的静态资源,浏览器在有效期内不会发条件请求。

反向代理:让动态请求回到应用服务器

主站Nginx负责HTML和API反向代理,API路径不要被静态规则误匹配,配置示例:

server {
    listen 80;
    server_name www.example.com;
    root /data/web;
    location /api/ {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        add_header Cache-Control "no-store";
    }
    location ~ \.(css|js|png|jpg|jpeg|webp|woff2)$ {
        return 301 https://static.example.com$request_uri;
    }
}

改完后执行nginx -t检查语法,再执行systemctl reload nginx平滑加载,不要直接restart,避免连接中断,随后用curl -I https://static.example.com/main.abc123.css查看响应头,确认出现Cache-Control: public, max-age=2592000, immutable,用curl -I https://www.example.com/api/user确认动态接口返回no-store或短缓存头。

灰度上线与验证:先切一小部分流量

上线不要一次性全量切换,先把静态域名解析到新源站,观察CDN回源率、404数量、字体跨域报错,再把API代理切到新路径,验证登录、下单、支付回调,最后切换主站HTML,验证清单包括:

  • 静态资源响应头是否命中长缓存。
  • 动态接口是否返回no-store或按业务设置的短TTL。
  • CDN响应头X-Cache是否出现命中标记。
  • 浏览器控制台是否有CORS或混合内容报错。
  • 源站日志中静态请求是否明显减少。

动静分离和CDN加速有什么区别?缓存规则配置思路对比

两者经常一起出现,但职责不同,业内专家指出,CDN解决的是分发距离问题,动静分离解决的是源站职责问题,两者不能互相替代。

对比项 动静分离 CDN加速
作用层 源站架构拆分 边缘节点分发
缓存位置 源站Nginx、对象存储、浏览器 CDN边缘节点、浏览器
配置重点 域名拆分、反向代理、路径规则 缓存键、回源策略、刷新机制
适用场景 静态资源压垮应用服务器、API与页面耦合 用户分布广、静态资源体积大、回源距离远
先后关系 先拆源站职责 再叠加分发加速

先做动静分离还是先上CDN?常见决策路径

如果动态服务器CPU被图片和CSS请求拖高,先做动静分离,如果静态资源已经在独立源站,但北方用户访问南方源站慢,再上CDN,两者顺序不是死规定,但缓存规则要一起设计,CDN缓存键建议设置为“URL+指定查询参数”,忽略Cookie和User-Agent;静态资源开启长缓存,HTML设置较短TTL,API路径在CDN层直接绕过缓存。

缓存规则配置的通用原则:静态长缓存、动态短缓存、敏感不缓存

  • 带哈希的CSS、JS、图片:Cache-Control: public, max-age=31536000, immutable。
  • 不带哈希的HTML:Cache-Control: no-cache或较短max-age,配合ETag协商。
  • 商品列表、文章页:可设置短TTL,例如几十秒到几分钟,按业务容忍度定。
  • 登录、订单、支付、购物车:Cache-Control: no-store,CDN不缓存。
  • 接口中的价格、库存:若业务允许,设置极短TTL;不允许就实时回源。

电商网站动静分离缓存规则怎么配置?按资源类型分场景落地

电商站点资源类型多,缓存规则不能一刀切,下面按常见场景拆。

商品详情页:HTML动态与图片静态混合处理

商品详情页的HTML通常包含价格、库存、推荐位,不建议长缓存,可以把HTML设为no-cache或短TTL,商品主图、详情图、SKU图放静态域名并长缓存,图片URL带商品ID和版本号,换图时改版本号,避免用户看到旧图。

购物车与订单接口:必须绕开公共缓存

/api/cart/、/api/order/、/api/pay/这类路径要显式设置no-store,CDN缓存规则里把这些路径设为“不缓存”,Nginx配置示例:

location ~ ^/api/(cart|order|pay)/ {
    proxy_pass http://127.0.0.1:8080;
    add_header Cache-Control "no-store";
}

用户头像与商品主图:长缓存加版本号

用户头像、商品主图适合长缓存,但更新频率高于CSS,建议URL带?v=时间戳或文件名带哈希,CDN缓存键保留v参数,刷新时改参数即可,不要只靠CDN刷新接口,缓存键设计才是根治办法。

中小型网站动静分离部署多少钱?成本构成与节省路径

问“中小型网站动静分离部署多少钱”,不能只看服务器单价,成本通常由静态源站、CDN流量、动态服务器、运维人力四块组成,访问量和静态资源体积决定大头。

成本项 常见计费方式 控制要点
静态源站 对象存储按存储量、请求次数计费;或轻量服务器包月 压缩图片、开启Brotli/Gzip、减少原图直出
CDN 按流量和请求次数计费 提高缓存命中率,设置合理TTL,避免频繁刷新
动态服务器 按CPU、内存配置包月或按量计费 拆分后动态压力下降,按峰值留余量
运维人力 自建或托管服务 配置版本化,变更走测试环境

节省路径很实际:静态资源统一压缩,图片转WebP,CSS和JS按页面合并,CDN缓存命中率提上去,回源流量自然下降,北京地区不少中小企业更倾向把静态源站放对象存储,动态服务器保留在本地机房或云主机,按访问量弹性调整,据工信部公开信息,中小企业上云用云比例持续提升,静态资源使用对象存储和CDN已是常见做法。

网站动静分离与缓存规则配置Q&A:北京地区部署服务要注意什么?

静态资源更新后用户还看到旧页面怎么办?

先检查文件名是否带哈希或版本参数,带哈希的文件可以长缓存,更新时换文件名即可,HTML和未带哈希的资源用no-cache加ETag协商,CDN层刷新URL只能救急,长期要靠缓存键和版本号设计。

动静分离后动态接口要不要加缓存?

看业务敏感度,商品列表、文章列表可短缓存;价格、库存、余额、订单状态不建议公共缓存,需要用户身份的接口用private或no-store,CDN规则里直接设为不缓存。

北京地区做网站动静分离部署服务要注意什么?

北京地区服务商通常需要配合完成ICP备案信息核验,CDN节点选择要覆盖目标用户区域,日志留存和访问审计要符合等保要求,静态域名和API域名分开后,证书、CORS、回源鉴权要一起验收,不能只测首页打开速度。

动静分离的落地关键不是堆配置,而是先拆清资源类型,再用缓存头把静态和动态的边界写死,缓存规则配置对了,源站压力、访问速度和运维成本会一起改善。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/795254.html

赞 (0)
上一篇 2026年11月13日 10:07
下一篇 2026年11月13日 10:09

相关推荐

  • cdn 主控 被控

    CDN主控与受控节点的核心差异在于权限层级与数据流向:主控端负责全局策略下发、流量调度与实时监控,而受控端(边缘节点)仅负责执行指令、缓存内容并回传状态,二者通过加密通道协同工作,确保内容分发的低延迟与高可用性,在2026年的内容分发网络架构中,随着AI生成内容(AIGC)爆发式增长及边缘计算深度普及,CDN的……

    2026年6月11日
    4900
  • 华为cv大模型股票股票怎么选?华为cv概念股有哪些龙头

    选择华为CV大模型相关股票,核心逻辑在于“技术落地确定性”与“产业链不可替代性”,投资者不应盲目追逐概念炒作,而应聚焦于那些真正具备高壁垒技术、深度绑定华为生态、且业绩已有兑现路径的细分领域龙头,简而言之,选股策略应遵循“基础设施先行,应用场景为王,软硬结合为胜”的规律,优先关注算力底座与关键零部件供应商,随后……

    2026年4月8日
    10600
  • 虚拟机是模式吗?它如何改变计算机的工作方式?,虚拟机是什么?

    虚拟机不是一种“模式”,而是一种用软件模拟完整计算机系统的资源抽象技术,它把物理硬件切成多个隔离的运行环境,让一台机器同时跑多个操作系统,从而改变计算机的工作方式,虚拟机是模式吗?它和物理机有什么区别模式与技术的边界“模式”这个词在计算机里很常见,CPU有实模式、保护模式、长模式,软件有用户模式、内核模式,它们……

    2026年10月18日
    500
  • cdn对接kangle怎么配置?cdn对接kangle教程

    CDN对接Kangle的核心在于通过Nginx反向代理或Kangle内置的加速模块,将源站静态资源分发至边缘节点,从而实现全球加速、降低源站负载并提升用户访问速度,2026年主流方案推荐采用“Kangle作为反向代理层 + 第三方CDN”或“Kangle原生CDN模块”两种架构,技术架构与对接原理深度解析在20……

    云计算 2026年6月9日
    3500
  • bootstrap cdn 速度为什么慢,bootstrap cdn 加速

    在2026年的网络环境下,Bootstrap CDN的加载速度已不再是瓶颈,其核心优势在于极高的全球节点覆盖率与浏览器缓存命中率,通常能将首屏渲染时间压缩至200毫秒以内,显著优于自建静态资源服务器,随着Web 3.0技术的深化与边缘计算(Edge Computing)的普及,前端框架的交付效率直接决定了用户体……

    2026年6月15日
    3200
  • PHP如何本地套CDN,php配置本地CDN加速

    在PHP本地开发环境中,通过修改Hosts文件指向CDN厂商提供的CNAME或IP地址,并配合Nginx反向代理或本地DNS劫持,即可实现1:1还原CDN加速效果,从而在断网或无公网IP的情况下进行高效的本地调试,本地开发时,前端资源往往依赖CDN分发,一旦断网或切换至内网环境,页面便会白屏或加载失败,这种“本……

    2026年5月25日
    6700
  • 轻量RPC代理缓存命中率怎么提升,RPC缓存命中率低怎么办?

    轻量RPC代理缓存的目标不是让所有查询都命中,而是在CPU、内存与命中率之间找到平衡点,通常配置得当的代理缓存能让相当比例的重复查询直接走本地内存,响应时间降至微秒级,轻量RPC代理缓存命中率为什么上不去很多团队在引入RPC框架后发现代理缓存命中率远低于预期,第一反应是加大缓存容量,缓存命中率上不去的原因往往是……

    云计算 2026年10月31日
    1100
  • 大模型如何实现图片分类?一篇讲透核心原理

    大模型实现图片分类的核心逻辑并不晦涩,其本质是利用海量参数对图像特征进行高维映射与语义对齐,与传统深度学习模型相比,大模型通过预训练获得了强大的泛化能力,使得图片分类不再依赖海量标注数据,实现了从“特定模型特定任务”向“通用模型零样本迁移”的跨越,一篇讲透大模型实现图片分类,没你想的复杂,其技术实现路径主要依托……

    2026年3月27日
    13200
  • 国内外有哪些著名数据可视化竞赛?2026年数据竞赛完全指南

    数据可视化竞赛是数据科学和设计领域专业人士、学生及爱好者展示才华、解决实际问题、推动技术创新和提升行业标准的重要平台,这些竞赛通常由学术机构、行业巨头、专业组织或政府机构发起,提供真实或模拟的数据集,要求参赛者通过创新的可视化手段揭示数据中的模式、讲述故事或解决特定挑战,参与这些竞赛不仅能磨练技能、赢得荣誉与奖……

    2026年2月14日
    22300
  • 中国免费cdn好用吗,中国免费cdn

    2026年中国免费CDN已不再是简单的静态资源加速,而是通过边缘计算节点与智能调度算法实现的高可用加速方案,建议优先选择阿里云、腾讯云等头部大厂提供的“基础版”或“试用额度”,以兼顾稳定性与合规性,在数字化转型进入深水区的2026年,网站加载速度直接决定了用户留存率与搜索引擎排名,对于中小企业及个人开发者而言……

    2026年6月4日
    3800

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注