阿里云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 协议》,转载必须注明作者和本文链接