Featured image of post 又拍云迁移到阿里云OSS与在WordPress的切换

又拍云迁移到阿里云OSS与在WordPress的切换

自打我学会做Wordpress动静分离开始就一直在用又拍云的对象存储服务,老实说速度真的不错,但是无奈我的网站服务器位于境外是无备案的,而今年开始其默认的域名也开始增加了种种限制,即如果不绑定自己的(备案过的)域名就几乎无法继续使用又拍云服务。无奈只能迁移到提供非大陆节点(特指香港)的阿里云了。

我使用又拍云已经快6年了,又拍确实挺不错的,而且有又拍联盟的话完全是可以免费用(就算没有,价格也十分公道)。但是OSS经过几年的发展明显赶超了老牌又拍,因为我决定换到阿里OSS,然后把又拍里面的所有文件都转移过去。

阿里OSS的优势

让我迁移到OSS的原因如下:

  • 我的网站没有备案,无法直接绑定域名到又拍
  • WordPress插件常年无人维护,不支持在线编辑和响应式图片
  • 管理较为麻烦
  • 社区或官方资源已经被后来者OSS追上很远了

上面的第一二两点都是主要原因,尤其是在线编辑的问题,又拍云如果使用Wordpress的在线图片编辑,那么就必然会失败,并直接导致图片无法访问(虽然又拍是支持图片编辑的),但是使用阿里云OSS的插件就完全没有问题,另外新版Wordpress引入了“响应式图片”,又拍云的插件是不支持这类新要素的,也就是说,就算启用的又拍的图床,只要不禁用响应式图片那么非原图依然会直接从自己的服务器里面加载,根本就无法起到加速的作用。

第二点,阿里云允许我的无备案域名绑定CNAME,而我正好也只需要一个非大陆的OSS节点,这对我而言很方便。

现在阿里云OSS在国内是没有免费额度了,非大陆地区有5G存储、5G下行流量的免费额度,值得一提的是请求是要算钱的且没有额度可用,但是香港区万次请求1分钱(其他地区至少1毛钱/万次)还是很便宜的,对于中小站点来讲完全够用。

使用OSSImport迁移到阿里云

迁移到阿里云并不难,因为官方有一款迁移工具可以用,不仅支持又拍,还支持本地、七牛、百度BOS、AWS S3、Azure Blob、腾讯云COS、金山KS3、HTTP、和自家的OSS的转移。

这个工具需要使用Java,因此需要在你运行此工具的电脑中安装好Java环境。

接下来,去阿里云的官方 Github 下载对应平台的配置文件job.cfg改名为local\_job.cfg并替换OSSImport目录下的/conf/local\_job.cfg,再用文本编辑器打开修改,配置文件里面有详细的中文解释,这里不再对配置文件的修改做过多解释。

最后,运行OSSImport目录下的import.sh或者import.bat,等待其自动完成即可。

这个工具的传输效率还算是比较高的,我的又拍云内大约有700M的图片,是本博客建站以来的所有附件,算下来有接近一万个文件,但迁移过程只花了不到5分钟。

在Wordpress中切换到OSS

不论是又拍云还是阿里OSS的Wordpress插件都是直接调用的原生附件上传工具,得益于此,它们的上传目录和整理方式是完全相同的,所以只需要修改前面的URL即可。具体操作如下。

首先要禁用又拍云的插件,然后使用数据库管理工具(如PMA),执行SQL语句

1
UPDATE wp_posts set post_content=replace(post_content,'https://又拍云URL/旧目录','https://阿里云OSS-URL/新目录')

接着,在阿里云OSS的管理平台你所使用的bucket的“图片处理”选项卡内,将下列常用图片处理规则做成一个纯文本文档(如txt)点击“导入样式”到OSS内,以便Wordpress能完全没有问题地使用。

1
2
3
4
5
6
7
8
<code class="hljs html">
styleName:thumbnail,styleBody:1e_1c_0o_1l_150h_150w.src
styleName:post-thumbnail,styleBody:1e_1c_0o_1l_120h_160w.src
styleName:medium,styleBody:0e_0o_1l_480h_480w.src
styleName:medium_large,styleBody:0e_0o_1l_768h_768w.src
styleName:large,styleBody:0e_0o_1l_1024h_1024w.src
styleName:full,styleBody:.src
styleName:twentyseventeen-featured-image,styleBody:image/auto-orient,1/quality,q_75

再获取并安装OSS的Wordpress插件:Aliyun-oss-support

启用后就算完全切换到阿里云啦!

再试试效果吧:

使用又拍的时候,整个网页完成加载大约需要3秒,现在仅需2.27秒,更重要的是,我终于可以恢复使用响应式、内置图片编辑和自定义域名了!

又拍云的去向

当然又拍云还是会继续用的,我的免费额度比较充裕,完全可以用来备份网站数据,我的LAMP一键包Oneinstack内置的备份脚本原生支持又拍云,所以非常方便。

同时我还有一个基于Cloudreve的云盘,用来获取外链,整个云盘直接使用又拍云驱动,而阿里云免费额度仅有5G,所以外链这种东西还是交给又拍云吧。

comments powered by Disqus