阿里云OSS项目搭建笔记
环境准备
- 阿里云 ecs
- CentOS 7.7
- 宝塔 7.4.7
- nginx 1.17
- mysql 8.0
- php 8
- Pure-Ftpd 1.0.49
- 阿里云云效 codeup
- laravel 8
基本步骤
- nginx 域名配置
- 数据库建立
- 安装 SDK(oss):
composer require aliyuncs/oss-sdk-php - 安装 SDK(aliyun):
composer require alibabacloud/sdk - 配置 FTP
- 编写测试 API
oss中添加bucket添加
对接方案
php中转上传- 浏览器直传
php 中转上传
- 利用
laravel搭建api服务 - 参考阿里云文档,申请
ram角色和对应key - 利用阿里云提供的
php sdk,对接上传
浏览器直传
- 获取阿里云
brower.js, 保存到本地(不支持Html5直接调用) - 参考阿里云文档,申请
ram角色和对应key(sts模式) - 利用
laravel搭建sts服务 Html5请求sts服务获取token,进行文件直传
文件查看
- 后台文件上传从
file改为text - 前台
image做兼容处理(本地文件和线上文件)
小结
开销
整个过程花了 2周时间(除开日常工作,上传这块花了 1周左右)
- 从头学
laravel(为了尝鲜),搭建api服务花了 2天 php sdk不兼容php 8(为了尝鲜),折腾了 1天html 5依赖官方的browser.js,文档里没提供版本号,自己寻觅 + 提交工单,花了 1天- 测试 + 现有模块改造升级,花了 2天
收获
项目优化及个人提升
- 服务器有大量图片,占用带宽及硬盘。转移到
oss可以极大减轻服务器压力。 oss提供在线图片处理功能,比如缩略图,只需要url后面加参数,非常方便省事。ram的权限管理机制值得学习,计划后期扩展oss,打造专门和aliyun对接的后台。- 了解
laravel 8接口开发基本原理,计划后期逐步重构现有的thinkphp 5。 - 从头搭建一套服务需要掌握的知识点很多(我平时只写代码,很少接触环境部署),过程中真的是一步一个坑,把生产环境还弄挂了一次。。。
node.js和微信小程序也要抽空学习了,只靠php和html 5,感觉缺了一条腿。
本作品采用《CC 协议》,转载必须注明作者和本文链接
关于 LearnKu
推荐文章: