13 10 月 2026

网站越来越慢,八成不是机器性能不够,而是图片、视频、附件全堆在服务器上,每次访问都占带宽、吃磁盘 IO。把静态资源挪到对象存储(COS/OSS/OBS),是性价比最高的一次优化。

这篇讲清楚:什么是对象存储、怎么把网站的图片附件搬过去、怎么配 CDN 加速、成本怎么控。

需要云服务器可以看看财富云计算:NAT 型无独立公网 IP,价格比独立 IP 机型省一半以上,一键开服面板,主流游戏快速部署。

一、为什么要把静态资源搬出去

不搬的问题

问题表现
带宽被图片吃光一个页面 20 张图,每张 500KB,一次访问就 10MB 流量,20 个人同时看就 200MB
磁盘 IO 打满图片小文件多,机械盘随机读直接卡死
备份体积暴涨网站数据库 500MB,图片 30G,每次备份都怀疑人生
迁移一次想退坑换机器要 rsync 几十 G 小文件,传到天荒地老

搬走的好处

  • 带宽压力转到对象存储,服务器只吐动态页面
  • 服务器磁盘只剩数据库和代码,备份恢复到秒级
  • 对象存储自带多副本,不怕单盘故障
  • 天然支持 CDN,全国访问都快

二、主流对象存储怎么选

厂商产品特点
腾讯云COS和 CDN 打通顺,国内节点多
阿里云OSS生态最全,SDK 齐全
华为云OBS企业用户多,价格有竞争力
七牛云Kodo图片处理强,开发者友好
又拍云USSCDN 老牌,图片管家好用

选型建议:服务器在腾讯云就配 COS,在阿里云就配 OSS——同厂商内网互通,上传下载不走公网流量,还免流量费,这是白捡的便宜。

三、动手:把资源搬到 COS(以腾讯云为例)

1. 创建存储桶

控制台 → 对象存储 → 创建存储桶:

  • 名称:全局唯一,比如 myblog-static
  • 地域:选和服务器同地域(内网互通)
  • 访问权限:公有读私有写(公开资源用公有读;涉及用户隐私的用私有读 + 签名 URL)

2. 装命令行工具

# 腾讯云 COS 官方工具 coscmd(pip 安装)
pip install coscmd

# 配置(需要 SecretId/SecretKey,在控制台 API 密钥管理里创建)
coscmd config -a 你的SecretId -s 你的SecretKey -b myblog-static -r ap-guangzhou

阿里云 OSS 用 ossutil,逻辑一样。

3. 上传文件

# 上传单个文件
coscmd upload /var/www/html/logo.png /images/logo.png

# 上传整个目录
coscmd upload -rs /var/www/html/uploads/ /uploads/

# -r 递归, -s 只传变化的文件(增量同步)

上传后访问地址:https://myblog-static-1250000000.cos.ap-guangzhou.myqcloud.com/images/logo.png。

4. 网站改造:把上传路径指过去

Typecho / WordPress 这类程序,附件上传目录改到对象存储有两种做法:

做法 A:改附件上传路径(简单)

Typecho 后台 → 设置 → 允许上传的文件类型不变,把上传目录通过插件或改代码指向 COS。社区有现成的 COS/OSS 插件,装完填桶名和密钥即可,附件自动传对象存储,前台引用 CDN 域名。

做法 B:全站静态化后托管(彻底)

如果网站基本静态(比如 Hexo、Hugo 生成的博客),直接 hexo generate 后整站传到 COS,开静态网站托管,服务器只需要跑个 Nginx 反代,甚至可以直接关掉服务器。这是最省的方案,适合纯展示型站点。

5. 旧资源迁移

历史附件也要搬,不能只让新的走 COS:

# 先列一下有多少文件、多大
du -sh /var/www/html/uploads/

# 批量上传(保持目录结构)
coscmd upload -rs /var/www/html/uploads/ /uploads/

# 数据库里替换 URL(把旧的内网路径换成 COS 域名)
# 先备份数据库!
mysqldump -u root -p blogdb > blogdb-backup.sql
mysql -u root -p blogdb -e "
UPDATE typecho_contents SET text = REPLACE(text, 'http://旧域名/uploads/', 'https://cdn.你的域名/uploads/');
"

REPLACE 前一定先备份数据库,手滑把 URL 替换错,全站图片挂掉。

四、配 CDN:让访问快十倍

对象存储默认域名在国内访问速度一般,套一层 CDN 才是完全体:

  1. 控制台 → CDN → 添加域名 → 源站选刚才的 COS 桶
  2. 加速域名填 cdn.你的域名.com
  3. 按提示配 CNAME 解析
  4. 缓存策略配置:
资源类型缓存时间说明
图片(jpg/png/webp)30 天基本不会变,长缓存
CSS/JS30 天带 hash 版本号可以更长
字体30 天同上
HTML不缓存或 5 分钟动态内容要实时
附件下载7 天看更新频率
  1. 开启 HTTPS(CDN 免费证书)、开启 Gzip/Brotli 压缩、开启 HTTP/2

回源配置:CDN 没命中时回源站取。把回源超时设 10 秒、开启「跟随回源」能省流量。

刷新预热:资源更新后 CDN 还有旧缓存,要主动刷新:

# 腾讯云 CDN 刷新接口(或用控制台)
# 目录刷新: https://cdn.你的域名.com/uploads/*
# URL 刷新:  具体文件路径

五、成本控制:别被流量费偷袭

对象存储费用 = 存储 + 流量 + 请求次数,流量是大头。控费几招:

  1. CDN 缓存拉满,回源流量越少越便宜。命中率 95% 以上是基本操作
  2. 图片压缩后再传,用 imagemin 或在线工具压一遍,很多博客图能压掉 70% 体积
  3. 用 WebP 格式,同画质比 JPEG 小 30%
  4. 设生命周期规则,30 天前的日志文件自动转低频存储,180 天转归档
  5. 同地域内网免流量,服务器和桶必须同地域,上传下载走内网

参考量级:一个日更博客,月增 500MB 内容、月流量 20G,存储+CDN 费用在个位数到十几块之间,远比升级服务器带宽便宜。

六、安全配置(容易漏)

公有读桶的风险:别人可以盗刷你的流量,或者直接拿走你的资源。

防护措施:

  1. Referer 防盗链:CDN 控制台配 Referer 白名单,只允许自己域名引用
白名单: *.yourdomain.com
空 Referer: 允许(浏览器直接访问场景按需)
  1. IP 黑白名单:发现恶意刷流量的 IP 直接封
  2. 开启用量告警:超过阈值短信/邮件通知,被盗刷第一时间知道
  3. 私有读 + 签名 URL:用户头像、订单附件这类敏感文件,用服务端生成带签名的临时链接(有效期几分钟),杜绝直接暴露

上传安全:API 密钥只放服务器环境变量,别提交进 Git;密钥定期轮换。

七、常见问题

Q:搬迁后网站图片全挂?
多半是数据库 URL 替换漏了或者 CDN CNAME 没生效。先直接访问 COS 原域名确认文件在,再查 CDN 域名解析。

Q:CDN 缓存导致更新看不到?
上传新图后到 CDN 控制台做 URL 刷新,或者给资源加版本号 ?v=20261013 绕过缓存。

Q:对象存储和服务器内网互通怎么配?
同地域默认内网互通,工具里选内网 Endpoint(COS 是 *.inner.cos.ap-guangzhou.myqcloud.com),不走公网免流量。

Q:不想改程序代码,有通用办法吗?
Nginx 反代:把 /uploads/ 路径 proxy_pass 到 COS 域名,网站代码零改动。见 Nginx 反向代理配置。

Q:备案问题?
用 COS 默认域名(myqcloud.com)不需要备案;绑定自己的加速域名(cdn.xxx.com)在国内节点需要备案。域名已备案就没这问题。

小结

静态资源分离是网站优化里投入最小、见效最大的一步:搬到对象存储 + 套 CDN + 做好防盗链,服务器带宽能省 70% 以上,访问速度反而更快。花一小时做完,受益好几年。

更多网站优化内容见财富云计算知识库:Nginx 配置、HTTPS 部署、静态站 CDN、网站变慢排查全系列。需要云服务器可以看看财富云计算:一键开服面板,NAT 型无独立公网 IP,价格比独立 IP 机型省一半以上。

延伸阅读
  1. 网站环境怎么选:LNMP 手动 / 宝塔面板 / Docker / 云开发
  2. 问卷表单系统搭建:SurveyKing / Formbricks,数据自己收
  3. 图床搭建:Lsky Pro / Lychee,自托管图片托管方案
  4. 邮件列表搭建:listmonk 自托管 Newsletter,把读者握在自己手里
  5. 文档站点搭建:MkDocs / VuePress / Docsify,产品文档与技术手册方案
  6. RSS 阅读器搭建:FreshRSS 自托管,把信息流拿回自己手里
  7. 短链接服务搭建:Shlink 自托管,链接数据自己掌握
  8. 网站状态监控页搭建:Uptime Kuma,服务器挂了第一时间知道
更多阅读
  1. 上一篇:云服务器迁移上云实操:换机器不丢数据、业务少中断
  2. 下一篇:网站图片与静态资源优化完整指南:不花钱快一倍
发表评论 14

取消回复