我一般很少在博客中放置图片,主要原因是没有一个合适的图床。昨天浏览阿里云论坛的时候,无意间看到有oss4wordpress的插件,欣喜之下就决定试试,试用下来效果还是不错的。

独乐乐不如众乐乐,我把昨天折腾的过程记录下来给有需要的人。

OSS 收费情况

OSS 对于新开通的用户有半年的试用时间,试用期间的服务套餐为:

即日起新开通OSS用户,可享受50G存储空间,每月累计10G流出流量, 免费体验服务;
免费体验时间为自服务开通之日起180天内,均可享受免费体验服务;
免费体验期间,使用量超出免费范围,超出部分按实际报价收费;
免费体验期间,请求次数正常收费;
参加活动方法,立即注册、免费开通OSS服务即可。

至于试用期过后,OSS目前的收费也不贵,具体可以看官网的计费说明,上面还有一个价格计算器,可以估计下一个月的费用,对于我们这种个人博客,基本上是和免费使用差不多。

插件配置

好了闲话少说,回到正题。网上已经有很多文章介绍了oss4wordpress插件的使用方法,听说原作者很久没更新了,我下了一个网友的修改版

WordPress官网托管的oss4wordpress插件是原作者的版本,所以无法在Wordpress后台自动安装,我们需要把下载好的插件上传到主机上手动安装。

插件安装好之后,按照AliyunOSS4WP——阿里云OSS插件使用教程配置,主要是做以下几件事:

  1. 申请OSS服务,获取OSS API用的access id和secret key;
  2. 创建公共读的Bucket,用于存放上传的图片;
  3. 配置二级域名并且CNAME到oss.aliyuncs.com;
  4. 后台进入oss4wp插件设置页面,填写将以上信息;

这里说一下CNAME时遇到的一个问题,我原先是将image.kodango.com域名CNAME到bucket的链接oss4kodango.oss.aliyuncs.com,结果最终上传的图片无法显示。看了下图片的链接,发现链接是这样组成的:

http://kodango.oss.aliyuncs.com/2013/05/image_name.png

与我预期的不一样:

http://image.kodango.com/2013/05/image_name.png

看来只能CNAME到oss的主域名oss.aliyuncs.com了。

另外提醒一点,如果你之前的页面中,已经有部分图片上传在其它地方,可以将它们重新上传到OSS上,然后在数据库中替换这些链接(比如CPanel进入phpmysqladmin页面执行SQL):

UPDATE wp_posts SET post_content = replace(post_content, '旧URL', '新URL');

对于每个人,wp_post表的名称可能不一样,请替换成实际的名称。

插件使用

图片上传

以上如果配置成功后,在Wordpress上传的地方都会把文件上传到OSS上,并且在编辑文章的工具栏上会出现一个Aliyun的LOGO,点击就可上传:
oss_upload

可以认为,上传到OSS已经替换了上传到Wordpress的功能,如果你不希望这样,可以在后台设置中关闭。

防止盗链

下一步就是给自己做个保护措施了,防止图片被盗连,在OSS的后台管理页面,光标移到所用的Bucket名称上,在飘出的菜单上点击属性,切换到防盗链,勾选'不允许Refer为空',并把本博客的地址填入文本框中,例如:

http://*.kodango.com
http://kodango.com

具体可以参考下图:

这里插一个小细节,之前提到使用oss4wp之前要获取access id和secret key,具体是到OSS管理控制台,找到AccessKey管理,但是AccessKey管理并没有放到显眼的位置:

莫非是我电脑的屏幕太小了?

OK,oss4wp用了一天还是很爽的,推荐大家使用。

转载请注明转自: 团子的小窝 , 本文固定链接: WordPress 使用阿里云 OSS 作为图床

  1. Adm's avatar
    Adm 发表于 2017-04-16 0:51:05 回复 #1

    请问博主现在还有什么方法实现么

    • kodango's avatar
      发表于 2017-04-16 18:34:27 回复

      @Adm:我一直都用这个呀,啥问题么?

  2. helsinglee's avatar
    helsinglee 发表于 2016-01-12 21:31:38 回复 #2

    有问题哦,乱码...

  3. pppt's avatar
    pppt 发表于 2015-11-09 10:38:56 回复 #3

    有个问题哦 我最近发现一个问题 就是我上传的图片为什么都不显示 出现这个问题怎么解决

  4. kjiuyuh's avatar
    kjiuyuh 发表于 2015-04-06 11:23:17 回复 #4

    没有备案的网站可以使用吗?貌似没有备案的网站不能绑定

  5. 魅力花果山摄影's avatar
    魅力花果山摄影 发表于 2014-01-09 11:17:26 回复 #5

    我刚刚使用oss 欢迎测速

  6. ydzhang's avatar
    ydzhang 发表于 2013-10-05 20:57:13 回复 #6

    我之前用的百度相册,但最近百度相册把外链禁掉了,我人工把图片迁移到「七牛云存储」了。从一开始我就决定图片单独存放,不依赖主机,结果看走眼了,选到不靠谱的服务,幸亏现在量不大,迁移起来只花了我一个多小时。

    • kodango's avatar
      发表于 2013-10-05 21:06:32 回复

      @ydzhang:可以试试 OSS,反正是我们自己公司的产品,我们团队在运维。七牛怎么收费的?

      • ydzhang's avatar
        ydzhang 发表于 2013-10-05 21:13:59 回复

        @kodango:暂时用的其赠送的永久免费额度

        存储空间10GB
        每月下载流量10GB
        每月PUT/DELETE 10万次请求
        每月GET 100万次请求

        • kodango's avatar
          发表于 2013-10-05 21:17:28 回复

          @ydzhang:个人博客用基本上足够了,云存储只要不被恶意攻击流量基本上没太多问题。

  7. 西门's avatar
    西门 发表于 2013-10-04 20:29:13 回复 #7

    个人建议,图片和附件什么的,还是保存到自己的主机里最方便。以后要是他不干了,或者失效了,这么多图片,你会疯掉的。

    • kodango's avatar
      发表于 2013-10-04 20:32:05 回复

      @西门:其实分布式存储(或者所谓的云存储)相对主机来说更加可靠,这是我们自己公司的产品,我还是信得过的,呵呵。

  8. 峄峰's avatar
    峄峰 发表于 2013-06-23 9:09:54 回复 #8

    无法启用插件,因为它引起了一个致命错误(fatal error)。Parse error: syntax error, unexpected T_CLASS in /home/......../plugins/oss-for-wp/wordpress-oss/class-plugin-public.php on line 1请问博主,怎样解决?

    • 寂天_团团's avatar
      发表于 2013-06-23 17:54:33 回复

      @峄峰:没遇到过这个问题,你是从哪下载的插件?还有wp版本是?

  9. conglin.deng's avatar
    conglin.deng 发表于 2013-05-05 16:39:39 回复 #9

    推荐用户使用三级域名,这个插件需要开发一个三级域名的版本,有时间我研究下。