腾讯云 COS 对象存储是利用云存储空间来存放静态文件,让网站动静分离跑的更快。我们平时用 wordpress 博客较多,而适用于腾讯云的很多都失效不好用了,今天看到一个腾讯云 COS 对象存储的 WordPress 同步插件,日期比较新,测试了一下也好用。下面魏艾斯博客把用这个插件同步腾讯云 COS 对象存储的过程写出来。
动态网站程序(比如 php、asp、jsp)和静态文件(比如图片)默认放在一台 VPS 上面,流量变大之后会拖慢整个网站打开速度,所以就有了云对象存储这个概念。意思是把动态网站程序和图片之类的静态文件分离开来,这样访问网站速度更快。主要还是国内服务器带宽比较贵,动静分离能够把服务器资源最大化利用。凡是网站坚持做到一定规模的站长未来都要考虑这一点。
插件来源是水冷眸(https://www.slmwp.com/cos-sync-plugins.html)和沈唁志(https://qq52o.me/2130.html)。这两位大佬的插件都是在前人已有插件的基础上自行改进适应了腾讯云 COS 目前的版本,你用哪个都可以,他们自己也在用。
折腾之前请一定要备份网站、数据库,备份是敢于折腾的根本保障,切记!
为什么用腾讯云 COS?
在中国大陆地区使用 COS 标准对象存储的用户,每月可享受一定量的免费存储空间、免费流量、和免费请求。
计费时,优先抵扣免费额度,超出部分再进行后付费结算。
资源类型 | 资源子类型 | 每月免费额度 |
---|---|---|
存储空间 | 存储空间 | 50 GB |
流量 | 外网下行流量 | 10 GB |
流量 | 腾讯云 CDN 回源流量 | 10 GB |
请求 | 读请求 | 100 万次 |
请求 | 写请求 | 100 万次 |
像个人博客的小站点足够用了,老魏在本文中拿来存放博客图片,动静分离给云服务器减轻压力。
腾讯云对象存储 COS 资源包,具有高扩展性、低成本、可靠和安全等特点,提供专业的数据存储服务
标准存储容量 | 归档存储容量 |
---|---|
适合随时访问、无需维护、海量规模存储 | 适用于海量数据的长期存储,低频率访问的场景 |
100G / 123.24 元 / 12 个月 | 100G / 38.02 元 / 12 个月 |
点我优惠购买 原价 156 元 | 点我优惠购买 原价 39.6 元 |
更多活动请移步腾讯云长期活动优惠产品汇总 腾讯云优惠活动汇总页面 不定期更新
一、添加存储桶和 API
在腾讯云后台找到对象存储,创建存储桶,所属地域一定选择和你云服务器在同一个地域的,访问权限一般是公有读私有写。
APP ID 设置:在云密钥 API 管理中找到。
secretID 和 secretKey:随机生成,复制下来后面会用到。
二、设置插件
下载地址前面有你自己选择一款吧。在 wordpress 后台的插件>>安装插件中上传(或者 FTP 上传到插件目录 wp-content\plugins 下)这个插件并启用。配置插件有两个途径:一是 WordPress 已安装插件有设置按钮去设置。二是 WordPress 后台左侧导航栏设置>>腾讯云 cos 设置,再点击进入设置页面。
有一点要注意:如果网站是 http 前缀,需要把插件/wordpress-qcloud-cos-master/sdk/Qcloudcos 目录下的 conf.php 文件中的 https://region.file.myqcloud.com/files/v2/改为 http://region.file.myqcloud.com/files/v2/,如果是 https 前缀,conf.php 这里就别改了。
大家参考下图设置吧,插件描述已经写的很清楚了。
三、腾讯云 cos 设置
添加了存储桶之后,要手动创建文件夹,wp-content 文件夹,下面再创建 uploads,访问权限是继承。然后把已发布文章的图片都上传过去。使用腾讯云官方的 COSBrowser 工具操作,速度也蛮快的。如果你看到这里有点迷糊,其实也不难理解。wordpress 博客的图片默认在 wp-content/uploads 下面存放,在腾讯云 COS 下同样创建这两个目录,然后我们就可以上传图片了。
如果你像和老魏这样自定义域名,就在存储桶>>域名管理中添加自定义加速域名,系统生成一个 CNAME 域名,你要给放到域名 DNS 解析当中去,给你的图片单独添加一个域名解析。
后面如果 wordpress 上传新图片无法显示,就在存储桶>>基础设置中开启回源设置,把主域名添加上去,一般问题就解决了。
四、腾讯云 CDN 设置
这里主要说的是添加自定义域名的情况,http 域名就没啥好说的了,https 域名还要把证书文件扔到 CDN 加速里面,强制 301 跳转。
五、修改已发布图片路径
已发布文章中的图片路径需要手动修改。修改可以用 wp 插件修改,也可以进入 phpmyadmin 修改。
再重复一遍,一定要提前备份好网站文件和数据库,再放手折腾。
这里有相关教程:
WordPress 批量替换 url 插件 Velvet Blues Update URLs 安装使用
老魏推荐使用插件替换,用完后删除掉。
到这里接近尾声了,你去前台打开网页试试,已发布文章的图片地址是腾讯云 COS 的地址,再去 wordpress 媒体中添加图片看看,也是 COS 的地址了,这样就实现了动静分离。
后记:
1、魏艾斯博客把手里现有的网站折腾了一下,有一个 http 站没问题,而 https 站就有问题。问题主要出在新建文章的图片上,http 站上传后最开始看不到图片,后来按照上面第三条的回源设置操作了一下,就正常了。但是 https 站这样操作就无效了。所以目前老魏也只能把新建文章图片通过 COSBrowser 工具手动上传到腾讯云 COS 的对应目录中去,为解决这个问题联系了插件作者沈唁,最后也没有找到合适办法解决。
2、为了继续使用腾讯云 COS 对象存储,老魏尝试在 wordpress 后台的设置>>媒体中修改了“文件的完整 URL 地址”,要注意因为没有了插件中的 API 授权,上传图片后是灰色无法显示的状态(其实在老魏这里 https 站传图一直都是这样),新建文章的图片采取手工上传到腾讯云 COS 的办法,麻烦了点不过不会出现看不到特色图片的尴尬情况。
3、魏艾斯博客目前在用的 DUX 模板、memcacehd 和这个插件之间有兼容性问题,一是启用插件后,前台文章列表页的特色图片等待很久才能显示出来,用户体验很差。二是启用、停用插件会导致后台白屏。
请注意:这里插件可以停掉,但如果卸载插件就看不到这两行,img 这个自定义文件 URL 地址也失效了,那样只能在上传图片后手动修改网址路径了。
4、这个插件在老魏这里测试不成功,最终还是卸载掉了,又回到了本地服务器动静态共存的状态。不过确实有不少网友都在使用,也侧面说明对一部分 wordpress 模板来说还是蛮好用的。毕竟这个插件是非官方开发的,不可能做到像官方那样解决全部问题。别的模板我也没有测试过,有使用经验的朋友请在下面留言反馈。
5、这个插件最好用在日 PV 几万的网站点上,这样的动静分离才有实际作用,日流量几千的博客、网站,或网站图片分辨率并不是很大的话,图片放在本地和放在对象存储上几乎没差别。
为此事发工单询问过腾讯云官方也没有提供类似的插件或者组件之类的,如果你有好的解决方法,希望各路大神能开发出更好用的基于腾讯云存储 COS 的 WordPress 远程附件插件。