前几天ZDL(老赵)根据老蒋的建议完成WordPress静态资源分离至阿里云OSS云存储的WPOSS插件WPOSS插件 - WordPress同步上传附件至阿里云OSS对象存储),从我们自己本地测试修复部分问题后提交至WordPress官方平台基本上可以满足这款插件的功能,只要配置没有问题可以将我们编辑文章时候的图片、附件选择同步本地和阿里云OSS,或者只存储在OSS中进行调用。
当然,实际在网友的使用中还是有一些小问题的,比如卸载插件后系统媒体URL没有恢复且需要手动到媒体中调整,这个后续让老赵修复。可以说这款插件目前基本的功能是完整的,但是老蒋在发布插件中的文档过于简单,部分新手站长不能理解如何从申请OSS、API密钥,以及激活插件进行绑定。所以在这篇文章中,老蒋准备完整的写一篇从阿里云OSS云存储的开通申请,再到WPOSS插件的启动绑定。
老蒋个人建议,我们在初次使用插件之前,可以先将网站快照备份或者其他形式的备份。这样可以避免不可估计的风险或者操作失误导致的数据混情况。同时,插件在使用过程中有任何疑问可以留言或者到群中提交和交流,大家的意见和建议会促使软件更加完善。
阿里云云存储OSS申请
1、购买对象存储资源包

如果我们直接开通且使用相对成本会高一些,所以一般习惯是购买OSS资源包,这样平均成本低一些。

这里我们可以根据需要的云存储OSS地区选择,也可以选择全国通用流量包。因为我们一旦选择某一个地区的存储包,后面在开通存储空间也必须要这个地区才可以使用到这个资源包。
2、开通Bucket存储空间
如果我们的WordPress网站准备图片或者其他媒体资源用阿里云OSS存储的话,你肯定是需要先申请和开通云存储OSS,然后创建Bucket存储空间。这里需要注意,开通的空间地区需要根据上面已经有开通资源包地区一致。

看到上图,我们需要 [新建Bucket] 存储空间。

这里需要注意的问题是Bucket名称需要记住,后面需要用到。如果我们资源包购买过哪里地区的,这里地域就选择,否则不扣已购资源包。读写权限很多人搞错,一定要有写入权限,否则你上传图片无法上传。
3、获取Bucket信息

根据上图,我们在创建Bucket之后,需要获取这三处的参数(Bucket名称、EndPoint地域节点、Bucket域名)。当然,如果我们是用的阿里云ECS服务器是可以用内网参数的,这里老蒋就以外网参数示范。
第二、获取阿里云Access Key
阿里云提供的服务太多,有些时候找个对应产品着实比较难找,比如我们这里还需要去找到Access Key参数,有网友找不到在哪里,这里我直接告诉你捷径。同样是在对象存储界面右侧。

这里我们可以看到快捷通道 Access Key。

如果我们没有创建过,需要先创建一个才行。只需要保存到AccessKey ID和Access Key Secret,后面在用到插件或者其他应用的时候都需要用API来进行配置系统连接。
第三、安装和配置WPOSS插件
1、插件下载安装

我们可以直接搜索安装插件"WPOSS",然后看到上图直接安装激活。或者在GitHub查看更新:https://github.com/laobuluo/wposs。
2、插件参数配置

插件激活安装之后,在后台侧边可以看到"WPOSS设置",这里参数上面我们已经整理过。而且在插件上都有介绍,这里需要说的是"本地文件夹"和"Bucket 域名",两者后面部分都要一致,一般我们都是默认都使用"wp-content/uploads",可以自定义位置,但是要变动两者都要变。
对于Bucket域名,我们可以使用阿里云OSS分配的,我们也可以自定义域名,甚至可以开启CDN,但是如果自己不熟悉的话,可以先使用赠送分配的域名,然后没问题后再去绑定自己的域名。
到这里,配置没有问题的时候,我们上传图片或者静态资源,是可以看到上传到阿里云OSS中的,且可以在网站中调用。
第四、关于静态资源路径问题
1、如果是新网站
如果我们是新网站开始就配置WPOSS,那基本上没有什么问题。我们也不用担心OSS上的资源路径与本地网站已有数据的静态文件路径是否一致。
2、如果是老网站
如果我们是已有网站希望静态资源重新分离的。我们在配置完毕WPOSS之后,需要将我们本地网站目录中的静态文件拷贝一份同步到OSS存储对应的目录中。同时,我们需要利用批量替换数据库方法 ,将WordPress内容中已有老的地址替换成新Bucket域名地址。
UPDATE wp_posts SET post_content = REPLACE( post_content, '原内容', '新内容' ) ;
参考命令,具体还需要看我们实际表明称和具体替换的内容URL。
总之,我们在不是特别熟悉WordPress操作之前一定要做好备份。通过上面老蒋详细的整理WPOSS使用,应该是比较详细介绍到这款插件的使用,如果还有疑问可以留言或者到下面展示的QQ群中探讨。