阿里云对象存储 OSS
当前,以演示站点域名moredoc.mnt.ltd
和对象存储绑定的域名static.moredoc.mnt.ltd
来作为配置演示,其他配置项仅作为参考。
步骤
1. 开通阿里云对象存储OSS
地址:https://www.aliyun.com/product/oss
2. 创建私有 Bucket
地址:https://oss.console.aliyun.com/bucket
2.1 注意事项(2024-06-14)
今天帮客户部署的时候,发现阿里云对象存储OSS突然多了一项阻止公共访问
的配置项,请把它关闭。
如果已开启,则在对象存储相应Bucket下的权限控制
里关闭。
因为bucket设置为私有,但是我们在存储图片的时候,需要通过API来将图片设置为公共读,如果开启了这个功能,会导致图片等相关资源转存失败!!!
3. 创建Access Key
地址: https://ram.console.aliyun.com/manage/ak
如已有Access Key,则可跳过创建
4. 配置
修改 app.toml
下的cloudStore
[cloudStore]
# 存储类型,填oss,即阿里云对象存储
storeType = "oss"
# 存储绑定的域名,带 http:// 或 https:// ,可以为空。
domain = "https://static.moredoc.mnt.ltd"
# 阿里云的 AccessKey ID
accessKey = "AccessKey ID"
# 阿里云的 AccessKey Secret
secretKey = "AccessKey Secret"
# 对象存储的bucket
bucket = "moredoc-private"
# 对象存储 endpoint
endpoint = "oss-cn-shenzhen.aliyuncs.com"
5. 迁移与重启
迁移本地的 uploads
和 documents
到对象存储
./moredoc migrateCloudstore
重启文库程序。
配置参考
完整配置参考示例如下:
# 程序运行级别:debug、info、warn、error,生产环境使用 info及其以上级别
level = "debug"
# 日志编码方式,支持:json、console
logEncoding = "console"
# 程序运行端口
port = "8880"
# 数据库配置
[database]
driver = "mysql"
dsn = "root:root@tcp(localhost:3306)/moredoc?charset=utf8mb4&loc=Local&parseTime=true"
showSQL = true
maxOpen = 10
maxIdle = 10
# JSON Web Token 配置
[jwt]
# 生成 token 的密钥,请务必修改!!!
secret = "moredoc"
# token 过期时间
expireDays = 365
[cloudStore]
# 存储类型,填oss,即阿里云对象存储
storeType = "oss"
# 存储绑定的域名,带 http:// 或 https:// ,可以为空。
domain = "https://static.moredoc.mnt.ltd"
# 阿里云的 AccessKey ID
accessKey = "AccessKey ID"
# 阿里云的 AccessKey Secret
secretKey = "AccessKey Secret"
# 对象存储的bucket
bucket = "moredoc-private"
# 对象存储 endpoint
endpoint = "oss-cn-shenzhen.aliyuncs.com"