OSS适用于存储各类型的静态资源,较多的用户将静态资源存储在OSS上。站点中要如何应用OSS的资源,为何站点应用了OSS,站点不能正常打开了;本文对上述问题进行了展开
一、 站点中如何应用OSS的资源
用户可以将站点中的静态资源(如图片,文档,音视频等)存储到oss上,然后使用自定义域名绑定OSS bucket ;
自定义域名绑定OSS:OSS绑定域名
这样设置成功后,比如用户的站点为www.a.com ,站点下应用了静态资源1.jpg ,用户可以将1.jpg 存储到bucket上 ,为bucket绑定域名是oss.a.com,站点www.a.com 之前应用资源URL链接为www.a.com/a.jpg,现在就可以将其替换为oss.a.com/1.jpg了;站点应用OSS的资源便成功了的。
1. 如何将静态资源迁移到oss上
1) 调用SDK,遍历所有要迁移的静态资源,一个个调用putobject接口进行上传到oss,参考:SDK操作object
需求编程基础
2) 调用ossimport进行迁移,参考:OSSimport迁移数据
需求配置Java环境,ossimport 工具本身配置简单
3) 云市场上寻找第三方客户端工具,进行迁移数据
2. 如何获取object的URL链接
上传资源成功后,如果bucket为公共读,用户可以通过bucketname.oss-cn-hangzhou.aliyuncs.com/objectname这样的URL来访问object;
或者在控制台--oss---具体bucket--object管理--获取地址来获取object的URL链接;
或者Sdk获取URL
签名URL获取:SDK获取签名URL
未签名URL 获取:SDK获取非签名URL
3. 站点新上传的资源如何上传到oss
1) 站点集成OSS WEB直传的demo,站点端直传资源到OSS,参考:WEB直传资源到OSS
2) 站点集成OSS JSSDK ,WEB端直传资源到OSS,参考:JS浏览器应用OSS
3) 使用OSSFTP工具应用bucket资源,参考:OSSFTPserver部署
先调用一台服务器部署OSSFTP server,FileZilla客户端去连接FTP server,测试链接成功后,站点配置FTP配置,连接OSSFTP server,连接oss
Discuz配置看:Discuz配置
PHPwind配置看:PHPwind配置
WordPress配置看:WordPress配置
二、 为何站点应用OSS资源后,站点不能正常打开
排查是否将站点域名绑定了bucket
控制台—OSS—选择具体bucket—域名管理中查看
原因:对外应用业务的域名,原本是做了A记录或者cname 记录的,绑定bucket后,对应的域名cname 到bucket的外网地址上,对应的域名就与原本的业务无关了,导致原本的站点无法访问
解决: 解除站点域名的绑定,换一个子域名绑定bucket(该子域名未对外发布站点业务),如oss.a.com 或者其他子域名
在域名服务商那边将站点域名A记录/cname 记录回源站,将oss.a.com cname 到bucket的外网地址上