如何通过云存储打造一个省钱、稳定的图片站

  1. 云栖社区>
  2. 博客>
  3. 正文

如何通过云存储打造一个省钱、稳定的图片站

笑傲江湖lcx 2016-07-24 00:51:51 浏览4073
展开阅读全文

背景


相信很多做图片站和下载站的站长都有这样的感受:随着网站越做越大,这些图片和附件该如何放置呢,再购买一块数据盘存放吗?显然不合适。另外虽然百度网盘、360网盘等网盘的存储量很大,但是毕竟是寄存在别人那里,而且有很多不确定因素,说不定哪天因“你懂的”原因一键删除了,多少天的心血付诸东流,那可是欲哭无泪啊!

那么问题来了,存在哪里好呢?阿里云对象存储OSS——你正确的选择!OSS + CDN+ URL签名防盗的完美组合,打造一个既省钱又安全又稳定的图片站!好了废话不多说,直接切入主题。 

解决方案


具体解决方案分为以下几步:

第一步,开通OSS:

开通地址:http://www.aliyun.com/product/oss/  

c86e4db43888e000c166032a085a68fcb5e23841

 

第二步,创建Bucket:

b15ab0d13ac5eb2719ff9868f0f3d4a990634b69

 其中这个读写权限,如果你后续需要做签名防盗的话,就选择私有,否则选择公共读就可以了。如果你选择了公共读写的话,存储的Object将以固定URL地址形式,可供访问者读写,请慎重使用第三个。 

第三步,设置Bucket:

 本小节主要讲解:防盗链和和域名绑定。

1、OSS设置refer防盗链: 
因为OSS是收费的,所以防盗链功能一定要用上,以免浪费你的RMB。

cfcda8959cc05e7cb72e2966edd75065c67e9b9e

如上图的设置,比如www.abcd.com想引用Bucket下的图片,将无法展示图片,这样他就盗不了我的数据,因为我没有把www.abcd.com添加到白名单。不过建议一般的搜索引擎都添加进去方便收录你的图片。 

2、绑定域名:

5c3aa14a952eb5313c55e229acf26d9e5ccacf6c

下载验证文件上传到您域名的根目录下。上传完成后再通过OSS控制台完成验证并绑定域名。 
另外好多朋友以为这样就可以了,其实还差一个重要的步骤cname域名解析:登录域名服务商后台,进行cname域名解析,我的是杭州的,记录值是bucket.oss.aliyuncs.com 。

第四步,创建Object: 

1187b62edfa0b5a25370e7bf74600d05743e61d5

Object就是相当于你电脑里的文件夹一样,为了方便规范管理,建议上传的图片或者附件制定某个文件夹。 

第五步:配置CDN:

登录OSS控制台,在OSS管理控制台-右边的“CDN加速”,一键开通CDN。

718af1567376278d66bb4eecf490e5e697a88fed

值得注意的是,开通CDN,还要进行CNAME绑定,步骤同三/2。 
CDN里还有防盗链、缓存设置、CC防护等设置,如下图所示,大家可以根据自己的实际情况自己设置: 

d72e7ec4ab91a100b69b9161e22b8250cc3d8146

第六步,OSS图片处理:

 这个功能对于做图片站的站长来说,是个很不错的功能。可以根据自己的要求进行剪裁、添加水印等功能 。

7366d95e5767453ebe6d2a46425acca5811e3a27

大家可以下载SDK了解下其丰富的图片样式,OSS图片服务功能可以和又拍云相媲美。

第七步,OSS签名防盗链:

对于做商业产品网站的站长来说,做OSS签名防盗真的很有必要,比如收费的教程、收费的视频等等,特别是一些视频、音频等被盗链了,真的耗流量了,所url签名防盗这个功能,必须给用上。在做签名防盗前,先要把你的Bucket设置私有。

/生成签名url,主要用户私有权限下的访问控制  
function get_sign_url($obj){  
    $bucket = 'holder';  
    $object = '20150316164019.mp3';  
    $timeout = 60;  
 
    $response = $obj->get_sign_url($bucket,$object,$timeout);  
    var_dump($response);  
}  

————————————————————————————————————————————————

$bucket = 'holder';                      这里是你创建的bucket名称  

$object = '20150316164019.mp3';         这个是bucket下要加密的文件名。  

$timeout = 60;                         这里是签名加密的时间,意思超过60秒链接就无效,这个时间可根据实际而设置  

这种是动态计算签名URL的方法,可以有效地保护放在OSS上的数据,防止被他人盗链。这个方法比前面讲到的设置refer更有效。

相关链接:


关于OSS防盗链:https://help.aliyun.com/document_detail/31869.html

OSS产品更多详细介绍:https://help.aliyun.com/document_detail/31817.html

关于CDN产品的详细介绍:https://www.aliyun.com/product/cdn/

网友评论

登录后评论
0/500
评论
笑傲江湖lcx
+ 关注