免费获取学习方案
ARTICLE DETAIL

资讯详情

深耕编程基础知识与建站技术分享的一线实战洞察。

网站图片太多把服务器塞满了?试试对象存储 COS

网站图片太多把服务器塞满了?试试对象存储 COS 常见的磁盘空间不足问题服务器磁盘告警是运维中常见的问题。排查之后发现程序本身占用的空间并不多真正吞噬磁盘的是用户上传的图片、视频、附件和各种静态文件。一个运营了三五年的企业官网上传目录里躺着几万张产品图。一个论坛系统用户头像和帖子附件占了几十 GB。一个电商后台商品详情页的高清大图把 40GB 的系统盘撑到了 90%。处理方法通常是两种要么扩容磁盘要么清理旧文件。扩容治标不治本下个季度问题还会回来。清理旧文件更麻烦删错了直接影响业务。有没有第三种方案有。把文件从服务器上搬走放到对象存储 COS 中。对象存储 COS 是怎么解决这个问题的对象存储Cloud Object Storage简称 COS是腾讯云提供的一种云上存储服务专门用来存放非结构化数据——图片、视频、音频、文档、备份文件、日志归档等等。它和云服务器自带的云硬盘有本质区别对比维度云硬盘CBS对象存储COS用途跑操作系统、数据库、应用程序存放静态文件容量上限固定规格扩容需操作几乎无限按量使用访问方式挂载到服务器本地路径读取HTTP/HTTPS URL 公网访问费用按容量规格付费用了没用都计费按实际存储量和流量计费数据持久性99.9999999%99.9999999999%12个9简单说服务器负责跑程序COS 负责存文件。两者分离之后服务器磁盘的压力就解除了。适用场景1. 企业官网的图片和视频产品展示图、案例轮播图、宣传视频这些资源通常体积大、数量多。把它们迁移到 COS 之后服务器只负责返回 HTML 页面图片和视频的加载通过 COS 的 URL 直接访问。前端代码中原本引用本地路径的资源改成 COS 外链即可!-- 原来 -- img src/uploads/product-01.jpg / !-- 改后 -- img src你的COS域名/product-01.jpg /2. 用户上传的附件和头像论坛、社区、SaaS 系统中的用户上传功能是磁盘增长最稳定的贡献者。接入 COS 后上传流程变为用户上传文件 → 服务器接收 → 转存到 COS → 返回 COS 外链给前端。文件不持久化在服务器本地上传量再大也不用担心磁盘告警。3. 网站日常备份和日志归档数据库备份文件.sql、全站备份压缩包、Nginx 访问日志这些数据访问频率很低但必须保留。放到 COS 的低频存储或归档存储类型存储成本远低于云硬盘需要恢复时再取回。对象存储 COS 上手指南流程不复杂登录腾讯云控制台开通对象存储 COS 服务点击左侧菜单存储桶列表在右边个界面中点击「创建存储桶」在跳转的页面中输入名称创建后无法更改、选择存储桶地域创建后无法更改、确认数据冗余策略、确认访问权限无误后提交即可创建COS 的存储桶开通后会有非常多的功能和配置具体可根据情况进行设置。上传文件的方法有很多其中最简单的就是通过控制台上传文件上传后文件将有对应的网址可以访问也可以接入自定义域名。也可以通过SDK的方式由代码进行上传或者使用官方工具进行文件管理。对于已经在运行中的网站迁移过程可以逐步进行。先迁移占用空间最大的图片目录观察几天确认正常再逐步迁移其他静态资源。不需要一次性全搬也不需要对服务器做任何配置变更。对于程序化上传的场景如用户上传头像自动转存可使用 COS 提供的 SDK支持 PHP、Python、Java、Node.js 等主流语言按 SDK 文档开发即可完成对接。由于COS功能过多无法在一篇教程内全部详细介绍可以参考官方文档进行了解。对象存储官网文档文件命名和目录结构上传到 COS 的文件不要使用随机中文名或默认名称比如1.png、截图.jpg、新建文件夹/。后期文件多了以后这种命名方式会让查找和清理变得困难。建议按「年份 / 业务 / 类型」的层级组织/images/2026/cover/ # 文章封面 /images/2026/product/ # 产品展示图 /images/2026/screenshot/ # 教程截图 /attachments/2026/pdf/ # 下载附件 /backup/2026/ # 数据库备份文件命名建议包含主题和日期例如cos-bucket-create-20260730.png而不是截图1.png。这样后期在日志、外链、缓存刷新中都能更快定位到具体文件。套餐包选购指南COS 没有固定月租按以下三个维度计费存储费用根据每天实际存储的数据量计算用多少付多少请求费用上传、下载、删除等操作次数流量费用公网下行流量从 COS 传输到互联网按量计费内网流量免费套餐包的组成对象存储 COS 除了可以按量计费外也可以买套餐包进入对象存储COS资源包选购页面。很多人第一次接触 COS 时会有个误区以为买一个「存储套餐包」就覆盖了所有费用。实际上 COS 的费用是分开计算的套餐包也分为三种套餐类型作用存储容量文件占用的存储空间流量从 COS 传输到外网的数据量读写请求上传、下载、删除等 API 调用次数简单理解存储包 文件存在 COS 里的「占位费」流量包 别人下载你文件的「快递费」请求包 每次上传下载操作的「手续费」实际使用中存储费用是可预期的文件大小基本固定流量费用取决于访问量波动较大请求费用通常占比最小。套餐包 - 存储容量这里面有很多资源包类型可供选择如果是新手不太了解推荐选择标准存储容量包即可规格大小按预计的需要选择。套餐包 - 流量这里可选择的内容就更多了每一项都可以介绍很多内容对于新手来说推荐选择外网下行流量包这个可以说是必选其它的可在熟悉产品后再开通。特别注意的是时间页面上有说明。例如您购买1T的外网下行流量包一年则您从购买之日起一年内每个月都可以抵扣1T的外网下行流量超出部分自动按量计费。这一点不同厂商有不同的规则所以要注意。套餐包 - 读写请求这里新手仍然推荐标准存储请求包同样特别注意的是时间页面上有说明。例如您购买100万次的标准存储请求包一年则您从购买之日起一年内每个月都可以抵扣100万次的标准存储请求超出部分自动按量计费。这一点不同厂商有不同的规则所以要注意。对比扩容云硬盘假设一个企业官网有 50GB 图片需要存放。扩容 50GB 高性能云硬盘每月固定支出约 35 元无论用不用满。COS 标准存储 50GB每月存储费大约 6 元外加少量请求费和流量费实际支出通常不超过扩容成本的 30%。更重要的一点云硬盘扩容有上限而 COS 没有容量天花板。搭配 CDN 加速对象存储 COS 解决「存在哪」的问题内容分发网络 CDN 解决「怎么送」的问题。静态文件放到 COS 之后如果用户在全国各地访问数据都是从 COS 所在的源站地域比如广州传输过去跨省延迟仍然存在。给 COS 开启 CDN 加速用户请求图片时CDN 从最近的节点返回缓存副本不再每次都回源到 COS 取文件。既降低了访问延迟又减少了 COS 的公网下行流量费用。也可以设置CDN回源同时购买CDN回源流量包。安全性COS 在数据持久性上达到了 99.9999999999%12个9意味着一年中数据丢失的概率极低。数据默认跨多台设备冗余存储即使是单台物理设备故障也不影响数据完整性。访问权限设置COS 的权限分为两层存储桶权限和对象权限。对象默认继承存储桶的权限也可以单独设置。存储桶权限Bucket ACL权限类型谁能访问适用场景私有读写仅创建者及被授权的账号客户资料、后台截图、内部文档公有读私有写任何人可读仅创建者及被授权账号可写文章封面、产品图、公开教程截图公有读写任何人可读写不推荐风险极高新建存储桶默认是「私有读写」。如果要对外提供公开图片调整为「公有读私有写」即可。公有读写权限意味着任何人都能上传、覆盖、删除你的文件。曾经有用户把存储桶设为公有读写后被写入了大量违规文件最终账号被封。任何时候都不要使用这个权限。对象权限Object ACL每个文件可以单独设置权限优先于存储桶权限生效。比如存储桶是公有读的但某个文件设了私有读写那么只有你能访问它。实际建议公开图片存储桶设为公有读私有写需登录才能查看的附件存储桶设为私有读写通过签名 URL 返回给前端既有公开又有私有的网站分两个存储桶管理一个公有读、一个私有读写临时文件设置生命周期规则到期自动删除防盗链当图片 URL 被其他网站直接引用时对方获得了展示效果你承担了流量费用。COS 支持通过 Referer 白名单限制访问来源只允许自己的域名引用图片。配置时注意同时添加www和非www域名移动端、子域名、CDN 域名一并检查先测试再扩大限制范围避免误拦正常访问防盗链规则除了在 COS 控制台配置也可以通过 EdgeOne 实现更精细的控制。可参考本站的 EdgeOne Referer 防盗链设置教程。常见问题排查图片上传后打不开按顺序排查文件是否上传成功 → 对象路径是否写错 → 存储桶权限是否允许访问 → 防盗链是否拦截了当前域名 → 图片 URL 是否含中文或空格 → 网站 HTTPS 而图片用了 HTTP 地址。网站开启 HTTPS 后图片不显示了COS 默认提供的域名支持 HTTPS。如果使用了自定义域名需要在 CDN 或 COS 控制台上传 SSL 证书。同时检查页面中图片引用地址是否全部为https://开头混用 HTTP 会被浏览器拦截。迁移后旧图片地址失效了网站中原有的图片路径需要批量替换为 COS 的新 URL。如果图片数量较多建议用脚本或数据库批量替换不要手动逐条修改。总结如果你的服务器磁盘经常告警排查后发现是静态文件占了大头不要急着扩容。先把图片、视频、附件、备份文件迁到对象存储 COS让服务器回归它本来的职责——跑程序、处理业务逻辑。迁移之后服务器磁盘压力减轻、备份管理更清晰、前端资源加载反而因为 CDN 加速变得更快。以上内容参考腾讯云官方文档仅作教程用途。最新信息以腾讯云 对象存储 COS 官网页面为准。本文同步发表于个人博客 云计算课代表专注云产品实操、运维实战与成本优化。更多云产品教程请访问 https://www.yiisu.vip/
返回列表