阿里云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角色和对应keysts模式)
  • 利用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和微信小程序也要抽空学习了,只靠phphtml 5,感觉缺了一条腿。
本作品采用《CC 协议》,转载必须注明作者和本文链接
秦晓武
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!