昨天我把站点内的所有图片copy了一份到腾讯云的COS存储,腾讯云COS对象存储是腾讯云为企业和个人开发者们提供的一种能够存储海量数据的分布式存储服务,用户可随时通过互联网对您的大量数据进行批量存储和处理,也就是说,我们可以拿来当做WordPress的图床使用,并且使用 COS 标准存储的用户,每月还可享受一定的免费额度的。
免费额度
资源类型 | 资源子类型 | 每月免费额度 |
存储空间 | 存储空间 | 50 GB |
流量 | 外网下行流量 | 10 GB |
流量 | 腾讯云 CDN 回源流量 | 10 GB |
请求 | 读请求 | 100 万次 |
请求 | 写请求 | 100 万次 |
这对于我们个人小站点来说应该是够用的,我是直接拿来存图片了,其他js,css等静态文件还没想好放不放。。。下面我们直接使用这个基于腾讯云存储COS的WordPress远程附件支持的插件,可以直接将站点题图等直接替换掉,但是文章内的图没办法更换,因为已经写入数据库了,可以手动更改一下。
基于腾讯云存储COS的WordPress远程附件插件
这个插件核心功能使用了腾讯云COS官方SDK,当然你不想用插件的话也可以自己集成一下
该插件实现以下功能:
使用腾讯云对象存储服务存储wordpress站点图片等多媒体文件
可配置是否保留本地备份和是否上传缩略图
支持配置图片等存储地址,并可支持腾讯云COS绑定的个性域名(需已备案)
支持一键同步资源到腾讯COS
安装
直接下载源码包。从Github上或者码云上直接下载打包源码,通过WordPress后台上传安装,或者直接将源码包上传到WordPress插件目录wp-content\plugins
,然后在后台启用。
Github项目地址:Github
配置插件
这些参数以及腾讯云存储桶如何创建就不说了,自己看一下官方文档吧。插件该注意的地方,插件设置的页面也都有说。
修复BUG
第一个:
之前也说了,文章内的图片插件不会自动替换,需要手动更改一下,我们直接打开数据库 spl 执行以下命令,看到影响了*行 说明执行成功
第二个:
当替换完了以后,查看控制台会报错,
提示跨域的错误No 'Access-Control-Allow-Origin' header is present on the requested resource.
原因是没有添加header的东西,解决方法:
在你的腾讯COS源的CDN中添加HTTP Header配置,
Access-Control-Allow-Origin:*
在你的存储桶的基础设置中设置跨域访问CORS,配置如下
就可以去除这个报错信息了。
项目地址:Github,如果对你有用,请留下一个star
请教站长:我的图片不能显示。配置都是成功的,在wp传一个图片后,本地和腾讯cos的相关文件夹里都有文件,但引用的时候看不见。地址链接能正确显示图片,在wp的媒体管理中也能显示出该图片,但显示为空白的。点到详情中也不能显示图片,但点编辑可以看到图片。请指教哪里出了问题
@非闪闪 f12看报错
@沈唁 0073tLPGgy1fvzwisadrlj30u010gjys-247×300.jpg:1 GET https://freepen-1253782490.cos.ap-chengdu.myqcloud.com/2019/10/0073tLPGgy1fvzwisadrlj30u010gjys-就显示这个啊:247×300.jpg 404 (Not Found)
@沈唁 就显示这个啊:
0073tLPGgy1fvzwisadrlj30u010gjys-247×300.jpg:1 GET https://freepen-1253782490.cos.ap-chengdu.myqcloud.com/2019/10/0073tLPGgy1fvzwisadrlj30u010gjys-247×300.jpg 404 (Not Found)
@非闪闪 404很明显找不到。缩略图没同步上去。
@沈唁 我找到原因了,是插件里usl前缀忘了加/wp-content/uploads/
麻烦博主啦!非常感谢
感谢站长的回复。。。我已经弄好了。 😈 谢谢。
源站域名可以,加速域名不行。请问源站域名和加速域名有什么区别?没有区别的话我就直接填写这个访问域名吧,就是长了点。。。弄了好几天都没弄好。。 🙁
我设置为默认域名可以正常了。设置为自定义域名就不行。。。自定义域名选择自由源还是?COS源?
@ma cos源啊,自定义域名那里就有说明
同步也成功了。上传图片无法显示是哪设置出问题了吗? 😳
@ma 看链接能不能访问。
@沈唁 The requested URL /wp-content/uploads/2019/06/2019092415470650.jpg was not found on this server.。。。
是不是设置了什么https导致的?我关掉试试看。图片访问不了。
@ma 文件不存在,你看你自定义域名和静态资源对吗
用上了 谢谢教程 很详细
发现服务器时间出问题(后台显示UTC时间的地方实际上是北京时间,造成发布的文章都是8小时前)。然后全部禁用插件再启用发现问题来自本插件,能否检查一下问题 😥
@Hanada 昂,这个问题github上有人提过,这个需要改一下插件中的配置。详细的可以查看https://github.com/sy-records/wordpress-qcloud-cos/issues/2#issuecomment-437644895
现在腾讯云COS免费是不是只有6个月,怎么查看啊
@唯心寒辞 改版之前的不受影响,之后的就是6个月。大概是2月份以后开通都是6个月
能不能出个教程,为什么配置不成功,配置完成后所有图片不加载
@燃灯大师 不加载看一下是不是404,同步有没有成功,桶里有没有数据等等。这里有常见问题https://github.com/sy-records/wordpress-qcloud-cos
@沈唁 能不能加个联系方式?
@沈唁 主要是没看懂那个数据库更新链接和URL前缀不知道怎么填,还有点同步,提示同步0文件
@燃灯大师 新旧拦截,旧的是你现在用的域名链接,新的是腾讯云桶链接。同步失败检查配置
@沈唁 能加个联系方式吗?能提供一点有偿服务吗,小白,搞不定
@燃灯大师 QQ\微信85464277
sql命令是啥。。。没写啊QwQ
@晓枫 修复Bug第一个的截图就是
@沈唁 哦看到了,谢谢大佬
腾讯云不启用CDN,只用COS,可以么?我同步后,显示同步数据成功,但是,没有上传到COS中,博文图片全部打不开。再次将插件内的目录留空。博文图片可以打开。插件内不填任何信息,仍然显示同步数据成功。是不是不匹配V5的COS,所以不能使用成功?
@complexray cos可以设置不用cdn。没有上传成功,先看配置、权限有没有问题,没有再失败,开启cos的回源
@沈唁 需要在COS上开通什么权限呢?是网络权限吗?
@complexray 公读私写
@沈唁 我启用的WPSUPERCACHE、WPJAM、COS插件,WPJAM中禁用XML-RPC,不知道和这个有没有关系,我用腾讯云主帐号建立的存储桶,云API的KEY,然后在WP后台填写好之后,点击的更新,然后点击的同步,但是,我用的是香港的COS节点,COS的地域选的是华南,这样是不是不行?
@complexray 插件冲突可能会有,没测试过。地区还是选一样的好。配置没问题开个回源试试吧
@沈唁 回源是要从哪里开呢?这个没有做过。
我的服务器是在香港节点,我可以对象存储选内地吗?会不会有延迟,或者流量计费上不算成是内网什么的?
@complexray 存储节点最好和服务器一样。具体问题咨询腾讯云
@沈唁 停用wpjam后,网站挂了,还有办法从后台开启插件吗? 🙁
@complexray 删了插件后,可以打开网站,重新设置COS,502错误,太多天了,看来是没办法了。
@complexray 插件冲突吧
@complexray 改文件
配置以后发现了一些问题,不上传缩略图和不在本地保留备份,想要生成缩略图的话必须不勾选不在本地保留备份;在数据库里删除图片并不会同步从cos里删除(虽然我希望的就是不同步删除……不过其他人可能需要同步);另外博主,勾选不在本地保留备份后本地图片文件会删除,但是数据库里依然有数据,我用的腾讯云临时域名测试的,数据库里的数据不显示图片内容,而是全部用那种文章标识替代了,这个是神马情况。
@宅 缩略图是wp切割的,可能要点一下同步。在数据库删除图片?我都是在wp后台的媒体删除。不保留本地肯定不会有,已经写入数据库的图片地址,本地的删了,找不到图片肯定404
给了。谢谢啦 😀