我们在运营网站的时候,是不是随着时间的积累网站的数据会越来越多,尤其是图片和附件占用服务器资源比较大。而且更为重要的是,图片占用在服务器中且在网页中打开速度会使得页面延迟较大。因为图片占用的带宽比网页中的文字更多。于是,我们较为常规的办法就是提升服务器的配置,这样可以在一定程度上解决问题,但是,势必就会增加我们的成本。
在提升网站的访问速度上,我们会采用一些常规的办法。比如使用CDN加速,使用缓存插件等。一般老蒋给客户操作的是直接物理上的改进,直接把内容中的图片和附件分离到云服务商的对象存储中,这样和我们的服务器分离。不占用服务器的带宽,而且降低服务器的存储空间,在备份搬迁数据的时候也不那么臃肿。且相对而言,数据在对象存储中的安全性比在我们服务器中安全性更高一些。
市面上有很多的对象存储插件,包括我们以前也有开发过针对各大云服务器商家的对象存储插件。比如WPCOS、WPOSS、WPQINIU、WPUPYUN等等。后来有网友提出建议,说这些云服务商对象存储的SDK包,其实都使用的亚马逊云AWS S3 SDK,所以你只要用到S3 SDK都是可以兼容的。于是在经过测试后发现确实可用的。有一段时间我还把LeSEO插件中继承S3 SDK实现静态分离的,后来考虑到SDK数据比较大,而且也不是所有的人需要用到静态分离。所以,我把对象存储插件单独集成到LeOSP插件中,而且采用的是S3 SDK最新的包且精简过的,原来的原包有40M+,现在精简到只有5M。

如图,这是LeOSP的设置界面,我们启动插件后输入你对应的对象存储服务商开通的存储桶的信息。以及SK信息,填写完毕之后,我们先测试连接是否有效,如果失败就需要检查哪里填写问题。
填写完毕之后,我们尝试上传文件看看,如果能成功且在对应的对象存储桶中有文件那说明是成功的。对于有朋友提到的,存储桶有文件,但是不显示,那你检查看看是不是白名单设置有问题。有些存储服务商是需要开启白名单,以及开启读写权限才可以访问到的。
PS:如果我们已有本地文件且后来需要用到静态分离的,那你就需要手动迁移文件到对应对象存储空间中,且批量把本地的静态文件URL替换成新的对象存储的URL。

这是我使用腾讯云对象存储的信息,对于其他的对象存储都是可以根据此填写的。有一些没有指定地区的对象存储空间可以在地区栏中填写 auto。如果你还不会填写或者是无法使用的也可以联系我们。
更新日志:
1.1.0
优化:AWS SDK 改为 Composer 构建的 S3 精简版(removeUnusedServices),移除 400+ 未使用服务;安装包由约 43MB 降至约 5MB
变更:依赖加载路径由 aws-sdk/vendor/autoload.php 改为 vendor/autoload.php;发布包须包含 vendor/ 目录
文档:新增 WordPress 标准 readme.txt;补充开发者依赖构建说明
升级提示:从 1.0.0 升级请使用含 vendor/ 的完整安装包全量替换(可删除旧版 aws-sdk/ 目录);数据库中的插件设置会保留,升级后建议执行「测试连接」并上传测试图验证
1.0.0
首次发布:媒体自动同步对象存储、URL 重写、缩略图异步上传与重试
支持「不在本地保存」、公众号解锁高级功能、后台连接测试与错误日志
SecretKey 加密存储;兼容 AWS S3、腾讯云 COS、阿里云 OSS、七牛云、Cloudflare R2 等

