关注VPS服务器
相关知识分享

开启阿里云 oss 对象存储 网站动静态分离图文详细过程

阿里云 oss 对象存储是阿里云推出的静态文件存储空间,如果你在使用 wordpress 这种 php 动态程序,那么通过把静态图片存放在 oss,动态程序放在阿里云 ECS 的方法,就能提高云服务器的运行速度,也就是通常说的网站动静态分离。目的就是为了让用户打开网站更快,减少等待时间。本文中魏艾斯博客分享阿里云 oss 对象存储的设置过程。

本文适用于 wordpress 程序,域名在万网,使用阿里云 CDN和 阿里云 OSS 的情况。如果你有一项不符合上面情况,就要手动添加、设置一些内容了,其实不麻烦,无非多按几次鼠标键盘的事儿,你懂了原理一样很顺当。

对新同学来说,这里面涉及到很多陌生的名词,过程也比较复杂,照着操作就行。

一、阿里云 OSS 对象存储操作

1、点我打开阿里云 oss 对象存储管理控制台,点击左侧的+号,开始新建 Bucket,也叫存储桶。

Bucket名称:随便写,能区分开就行,同时这个名字也是 CDN 加速的域名前缀;

区域:选择和阿里云 ECS 同一个地域的,不在同一个地域要收费(土豪请忽略);

存储类型:标准存储;

读写权限:给网站图片加速用,选择公共读;

实施日志查询:根据个人需要开通与否,如果要研究日志就打开。对大部分小网站没啥用处。

2、在阿里云管理控制台进入对象存储,为 oss 要存储的图片添加一个 img 的二级域名前缀,这叫自定义域名。记得打开下面的阿里云 CDN 加速和自动添加 CNAME 记录的开关。

再去阿里云解析看到系统自动给 img 这个二级域名添加了 cname 解析,相当方便。这个功能仅限于域名放在万网(也是阿里云旗下,打通了服务)的情况,如果域名没在就手动添加。

3、在对象存储控制台,依次新建 wp-content 和 uploads 这两个文件夹,属性是公共读。后面要上传的图片文件、文件夹就放在 uploads 下面。

4、这时候去网站的 /wp-content/uploads/ 文件夹下面,把里面的全部内容都下载到本地。如果你使用宝塔面板就简单的多了,在宝塔面板后台的文件管理中,勾选 uploads 文件夹,最右侧点击压缩。把压缩包下载到本地,这样节省时间。

非可视化面板就手动命令行压缩、下载也不麻烦。

这时候知道服务器带宽的重要性了,老魏测试这台服务器是 1M 带宽,图片太多用了半小时才下载到本地。

5、获取 Access 账号密码

点我登陆阿里云,右上角进入访问控制。

进入RAM管理,新建用户。

登陆名称:用来区分不同 Access 账号;

显示名称:说明这个 Access 是做什么用的;

勾选编程访问会自动生成 Access 账号密码。

最后得到的 AccessKey ID 和 密码一定要保存到别的地方,这个只显示一次,关闭这个页面后就再也看不到了。

疑问:网络上有说要授权三个权限的,老魏这里测试过不授权也可以正常使用。如果你没添加授权还无法使用请发工单询问阿里云客服。

6、解压缩后把 uploads 的内容上传到存储桶中

A、文件数量较少怎么上传

在这里老魏遇到一个问题,使用网页端(不建议用,最好用后面的 OSS browser)直接上传文件夹的话,阿里云会自动忽略文件夹,直接把里面的图片文件传上去,但是这样子就把文件所在的文件夹路径顺序搞乱了。

WordPress 程序会默认按照上传年份给图片分类。在本次案例中, /wp-content/uploads/2017/ 里面的所有图片,阿里云对象存储会给上传到  /wp-content/uploads/ 下面,自动忽略了 /2017/ 文件夹。

解决办法是手动先在对象存储中建立对应的文件夹,然后再一一对应上传。

所以说文件少可以用这个网页端上传,文件数量很多的话(超过 100 个),浏览器容易卡死。老魏在测试的时候卡死过多次。文件多的话使用下面的 OSS browser 软件上传吧。

经实际测试 OSS browser 可以无限量上传文件(受限于oss容量),而网页端每次只能上传 100个文件,注意这个区别。

B、用 OSS browser 上传数量多的文件

点我打开下载页面,找到对应平台的客户端下载,解压缩后找到并打开 oss browser 这个免安装的绿色程序。登陆要用到 AccessKey 和 AccessKeySecret,勾选记住密钥,其余留空不填,登入。

老魏强烈建议使用 oss browser,可以直接上传文件夹,速度也快,比网页端用起来爽好多。

二、阿里云 OSS 插件设置

1、Wordpress 后台下载阿里云 OSS 插件,设置界面如下:

AccessKey 和 AccessKeySecret :这两个数据上面已经获取到了;

区域/数据节点:与阿里云 ECS 地域相同,勾选内网可以节省流量费用;

Bucket 名和 Bucket 域名:阿里云 OSS 对象存储那里获取;

存储路径:wp-content/uploads/

提示1:Bucket 域名这里可以用 oss 提供的加速域名,或者自定义域名也行。自定义域名需要手动去阿里云解析那里添加 CNAME 记录和一键申请 SSL 证书。域名、CDN、云服务器和对象存储都使用阿里云的好处在这里就看到了,很多设置是系统自动就帮你添加了。

提示2:阿里云 oss 插件都是个人开发的,也有很多不同版本,大家问度娘搜索一个,设置方面都差不多。插件中看不懂的别乱改,会出错误的,切记

保存后打开网页测试,并且看看图片地址前缀是不是上面设置好的Bucket 域名或自定义域名。

三、已发表文章图片 URL 替换

OSS 插件只对以后发表的图片起作用,之前已发表的图片 URL 还是需要替换,可以用 URL 替换插件批量操作。

魏艾斯博客提醒您:数据千万条,安全第一条。网站不备份,站长两行泪。一定要提前备份!备份!备份!重要的事情说三遍,有备份才是我们敢于折腾的前提!

以下三个方法任选其一

插件一:WordPress 批量替换 url 插件 Velvet Blues Update URLs 安装使用

插件二Search&Replace 插件-WordPress 查找与替换网站链接

手动去数据库替换:wordpress 更换域名、数据库批量替换域名过程记录

其实整个过程可以这么理解:把 wordpress 的图片复制一份放到对象存储中,然后用 oss 插件把后面上传的图片和 oss 联系起来,云服务器 ECS 负责处理 php 等动态文件,oss 负责处理图片等静态文件,这样就叫动静态分离。好处是云服务器效率更高,速度更快。

点我领取阿里云千元代金券,购买阿里云 150+ 云产品可以抵用消费金额。

最后总结阿里云 OSS 对象存储配合阿里云 CDN、阿里云 ECS的动静态分离操作过程完成了。这里面涉及到很多服务器专有名词和复杂的操作过程,大家在操作的时候照着做就行。完成之后可能在第二次、第三次操作的时候才会慢慢理解整个流程是什么意思,在大脑中形成这个思维框架,加深对象存储、阿里云产品的理解。

本文是全系列中第28 / 135篇:阿里云

赞(4) 打赏
允许转载,保留出处:魏艾斯笔记 » 开启阿里云 oss 对象存储 网站动静态分离图文详细过程

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏