一、oss是什么
阿里云对象存储服务(Object Storage Service,简称OSS)为您提供基于网络的数据存取服务。使用OSS,您可以通过网络随时存储和调用包括文本、图片、音频和视频等在内的各种非结构化数据文件。
阿里云OSS将数据文件以对象(object)的形式上传到存储空间(bucket)中。您可以进行以下操作:
(1)创建一个或者多个存储空间,向每个存储空间中添加一个或多个文件。
(2)通过获取已上传文件的地址进行文件的分享和下载。
(3)通过修改存储空间或文件的属性或元信息来设置相应的访问权限。
(4)在阿里云管理控制台执行基本和高级OSS任务。
(5)使用阿里云开发工具包或直接在应用程序中进行RESTful API调用执行基本和高级OSS任务。
二、对象存储oss 与 自建服务器存储的对比
对比项 | 对象存储OSS | 自建服务器存储 |
---|---|---|
可靠性 |
|
|
安全 |
|
|
成本 |
|
|
数据处理能力 | 提供图片处理、音视频转码、内容加速分发、鉴黄服务、归档服务等多种数据增值服务,并不断丰富中。 | 需要额外采购,单独部署。 |
三、使用场景
1、图片和音视频等应用的海量存储
2、网页或者移动应用的静态和动态资源分离
3、云端数据处理
四、购买oss服务
官网购买链接:https://www.aliyun.com/product/oss
阿里云优惠券领取链接:www.aliyouhui.top
需要注意的是,建议您根据需求同时购买存储包和下行流量包。如果您同时开通了cdn加速,建议再购买回源流量包。如果不购买流量包,产生的费用就有些大了(就像用手机时,我们也需要购买流量包一样)。
五、oss的使用
官方文档:https://help.aliyun.com/document_detail/31817.html
1、购买oss之后,进入控制台,点进oss
2、根据自己需求填写名称,以及选择区域
3、点击确定,进入下一界面,如下
到此,oss已经创建好了。现在,就可以使用了。
4、开始正式在网站使用oss对象存储服务
(1)首先,在oss控制台新建一个文件夹,用于存储网站的图片,然后向文件夹里上传几张图片。
5、这里,我新建了一个image文件夹,并向其中上传了6张图片。如图:
6、在网站中访问
d.php
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Document</title>
</head>
<body>
<img src="http://hk-server.oss-cn-hongkong.aliyuncs.com/image/10005ad45c08b7a81.jpeg" alt="">
</body>
</html>
url访问:
到此,oss对象存储服务中存储的文件已经可以在网站中正常访问了。
注:要设置图片的访问权限(文件ACL),我这里为了演示效果,设置的是公共读。
7、在框架中应用oss服务
当然,前面的介绍只是简单的访问图片的url地址,然后进行访问,那么如何在框架中对整个oss进行一系列的增伤改查操作呢,这里以最基础的tp3为例。
在项目根目录(application目录的上一级)进行如下操作:
(1)配置国内composer镜像
composer config -g repo.packagist composer https://packagist.phpcomposer.com
(2)composer 安装 oss PHP sdk
composer require aliyuncs/oss-sdk-php
(3)下载之后目录结构是这样(其他框架大同小异)
(4)填写配置项
修改文件 /Application/Common/Conf/config.php
'ALIOSS_CONFIG' => array('KEY_ID' => '', // 阿里云oss key_id'KEY_SECRET' => '', // 阿里云oss key_secret'END_POINT' => '', // 阿里云oss endpoint),
(5)创建实例化函数
文件 /Application/Common/Common/function.php,如果不存在则新建。
(6)官方关于oss图片上传的代码示例
https://help.aliyun.com/document_detail/32099.html
遇到错误可参考 https://www.cnblogs.com/gengyi/p/6622819.html
#代码待补
总结:oss对象存储的好处有很多,官方文档都有介绍,这里不多赘述。
不仅降低了本地服务器io的消耗,也提高了获取资源的速度。理论上,相对于一个公司网站而言,成本也并不是很大,使用起来也是极其方便。最主要的安全。
个人建议不论是做个人站,还是公司网站,如果静态资源较多,完全可以将静态资源都放到oss对象存储中,也是进一步优化了网站访问速度。
当然,oss其实也是可以搭配cdn来使用的。