Halo2.0使用阿里云OSS存储文件

前言

之前文章里面的媒体文件都是直接存到服务器里,但是更换到Halo2.0后,上传大文件很慢,且如果直接新窗口打开,加载非常缓慢。于是本文将介绍如何配置阿里云OSS。

简单介绍一下阿里云OSS,你就可以把他当成一个特殊的云盘,可以直接通过阿里云官网上传文件,然后生成一个所有人可访问的URL分享给别人。同时,也可以通过插件直接从Halo2.0上传文件到阿里云上。

什么?为什么用阿里云OSS?因为我博客服务器用的就是阿里云,就不折腾自己了,自家产品兼容性肯定没问题

通过Halo官方的阿里云OSS插件实现

2023.7.26更新:GitHub上显示此插件已过时,用S3插件替代,但目前仍可用,步骤也是一样的,详情见文章最后一段

所有需要准备的内容:

  • Bucket名字
  • Endpoint地址
  • Access Key and Secret

开通OSS井创建bucket

这一部分阿里云官方的这个视频介绍的非常详细,对着做就好啦

一些注意事项:

  1. bucket名称全局唯一,创建就无法修改
  2. 其他选项都是看你自己,我自己是标准存储+同城冗余,其它都是关的
  3. 读写权限一定选择公共读!公共读!公共读!

照着视频创建好bucket后,点左边列表找到你刚建的bucket,选择概览,然后找到外网访问的Endpoint地址,保存好


目前进度:

  • Bucket名字
  • Endpoint地址
  • Access Key and Secret

获取Access Key and Access Secret

右上角点击AccessKey管理,点击开始使用子账户AccessKey



创建用户,登录名称和显示名称都可以自定义,但一定要勾选OpenAPI调用访问



创建完成后会显示AccessKeyIDAccessKeySecret请注意Secret请立即保存好,因为只显示这一次,错过了就只能重新再创用户了。 建议新建个文本文档存放

点击左侧的用户,就能看到刚刚创建的用户,右边有个添加权限,选择系统策略,选择AliyunOSSFullAccess,添加确认。




返回OSS控制台,在授权策略新建授权,选择刚刚创建的子账户,授权操作选择完全控制



至此,所有所需的都已准备好

  • Bucket名字
  • Endpoint地址
  • Access Key and Secret

Halo2.0阿里云OSS插件配置(已过时)

2023.7.26更新发现GitHub上显示此插件已过时,用S3插件 替代,但目前仍可用,新插件配置步骤也是一样的,新用户可以跳过这一部分到Halo2.0 S3插件配置


打开Halo2.0控制台,左侧选择插件,确定阿里云OSS插件已安装并启用,然后选择附件Attachments),右上角点击存储策略Storage Policies),添加AliyunOSS,进入配置界面



  • 自定义Display name
  • 绑定域名协议默认为HTTPS,请确保自已域名也为HTTPS访问
  • 上传目录:如果设置为根目录,需要填"/,子目录的话如果没有会自动创建,例如blog/一定要加/
  • 绑定域名直接为空(也可以自定义但不建议)

全部配置好之后,点击确定就可以通过阿里云OSS上传文件啦。当从Halo上传的文件能在OSS后台显示的时候就说明成功啦




Halo2.0 S3插件配置

GitHub链接,配置指南包含了绝大多数的信息,这边只进行一个补充

打开Halo2.0控制台,左侧选择插件,确定对象存储(Amazon S3协议)已安装并启用,然后选择附件Attachments),右上角点击存储策略Storage Policies),添加口S3 Object Storage,进入配置界面




  • 自定义Displayname
  • 访问协议默认都是HTTPS,请确保自己域名也用HTTPS访问!
  • Endpoint访问风格请参考GitHub中的表格
  • 上传目录:如果设置为根目录,需要填/,子目录的话如果没有会自动创建,例如blog/一定要加/

全部配置好之后,点击确定就可以通过S3协议上传文件啦。当从Halo上传的文件能在OSS后台显示的时候就说明成功啦

两个插件比较

由于S3插件是阿里云0SS插件的送代,确实S3支持更多的服务商。从我个人的体验上来说,阿里云OSS插件会在定义的目录上多生成一个/文件夹,而S3不会,更简洁。

事实上,本文所有的图片都是通过阿里云05S插件上传并嵌入的。

我自己发现两个插件都有的问题:当上传的文件过大(超过10M)时,本插件上传会卡100%很久,所以建议大文件还是直接通过OSS后台直接上传,效果是一样的。

一点点的吐槽

本文是我第一次用Markdown编辑,emm有挺多bug不知道是主题的问题还是编辑器的问题。还是默认的编辑器香,虽然看着我写了这么多代码还挺自豪的。主要是没有什么使用Markdown的必要,看个人吧。

References

  1. 神兵小将 https://www.wjcms.net/archives/halo博客配置阿里云oss上传附件

  2. rTwTroy https://blog.csdn.net/Troy_Zhang1112/article/details/113323169

很明显是这个网站的主人)