使用阿里云OSS服务来存储网站静态文件

如果你的网站不在国内,亦或者你的网站放在国内的单线服务器上,又用不起昂贵的CDN服务,那网站的访问速度肯定是困扰你的问题之一,今天给大家介绍一下阿里云提供的开放存储服务OSS,可以有效的改善一下网站速度。

首先大家要了解一个常识,那就是网页打开是由多个速度来决定的,首先是客户端发起请求到服务端接收请求的速度,其次是服务端处理这个请求并返回html内容的速度,然后是html传输到客户端的速度,最后是客户端浏览器渲染html网页并加载网页中各类资源的速度。

上述四个时间段里面,第一个和第三个需要靠增加你的服务器到客户端的连接速度来解决,第二个问题可以通过增强你的服务器硬件或者优化你的网站程序来解决,这三点要解决起来通常都比较困难,但是耗时相对来说最多的加载网页中的各类资源的速度,就可以通过今天要登场的阿里云开放存储服务OSS来解决拉~

首先需要介绍下什么是OSS服务,阿里云存储服务(Open Storage Service,简称OSS),是阿里云对外提供的海量,安全,低成本,高可靠的云存储服务。用户可以通过简单的REST接口,在任何时间、任何地点上传和下载数据,也可以使用WEB页面对数据进行管理。同时,OSS提供Java、Python、PHP SDK,简化用户的编程。基于OSS,用户可以搭建出各种多媒体分享网站、网盘、个人企业数据备份等基于大规模数据的服务。简单来说,OSS服务就是一个可以外链的网盘,而且是一个国内各个网络访问速度都比较快的网盘。

阿里云OSS服务新开通的用户,可享受50G存储空间、每月累计10G流出流量的免费体验服务,免费体验时间为自服务开通之日起180天内,对于像我这样流量不大的博客,即使后续收费了,每天的费用大概也在几分钱的样子,因此是十分划算的。

要使用阿里云OSS服务,首先需要注册一个阿里云账号,然后不用充值,直接就可以开通。开通后,首先你需要在管理控制台——开放存储服务OSS——OSS控制台创建一个OSS的bucket,你可以理解为一个存放文件的容器。容器名称必须是唯一的(不能跟别人重复),如下图所示:

需要注意的是,你的bucket是希望被外网访问的,因此需要设置为公共读的权限。创建完bucket后,你的bucket的访问地址就是 http://oss.aliyuncs.com/你的bucket名字 ,当然,如果你想要用自己的域名的话,你可以在域名下面建一条CNAME记录,直接指向oss.aliyuncs.com即可,例如我的博客的静态内容的域名就是static.jayshao.org。

接下来你可以把网站的静态内容全部上传到你的bucket中,点击任意一个文件的属性就可以看到当前文件的访问地址,例如下图所示的

当然,如果你绑定了域名,那你就可以通过自己的域名来访问了,例如刚才这个文件,使用style.jayshao.com/favicon.ico同样可以进行访问。

同时,你也可以通过下图所示的HTTP表头设置来修改相关的HTTP Metadata参数,例如对于一些经常不修改的js、css等可以填入7天甚至是一个月的缓存时间,这样可以减少oss的流量,节约相关的费用。

最后的工作,那就是修改你的网站了,将网站中需要用到的资源文件全部改成阿里云oss的地址,这样客户端在渲染页面时候加载各类资源的速度将得到显著的提高,相信对你的网站的加载速度也会有一个质的提升。