Minio对象存储 COS

当前,以演示站点域名moredoc.mnt.ltd和对象存储绑定的域名static.moredoc.mnt.ltd来作为配置演示,其他配置项仅作为参考。

注意:如果您配置了miniossl,则endpoint需要加上https,如https://192.168.0.102:8889,否则用不带http协议的方式进行配置,如:192.168.0.102:8889!!!

步骤

1. 搭建minio服务

地址:https://min.io/download

请根据下载地址,自行搭建Minio服务,以及绑定域名。当前演示,minio监听 8889 端口,IP地址为:192.168.0.102,minio的管理后台端口为 62242。

2. 创建私有 Bucket

地址:http://192.168.0.102:62242/buckets

混合云和多云对象存储 Minio - 图1

直接创建的,即是私有bucket。

3. 设置公共只读目录

Buckets 列表,点击进入刚创建的bucket moredoc-private,创建只读目录_/。注意,务必是_/!!!

如图:

混合云和多云对象存储 Minio - 图2

4 创建访问密钥

地址:http://192.168.0.102:62242/access-keys

混合云和多云对象存储 Minio - 图3

如已有访问密钥,则可跳过创建

5. 配置

注意 强烈建议对minio服务绑定域名!!!

修改 app.toml 下的cloudStore

  1. [cloudStore]
  2. # 存储类型,填minio,即Minio对象存储
  3. storeType = "minio"
  4. # 存储绑定的域名,带 http:// 或 https://
  5. domain = "https://static.moredoc.mnt.ltd"
  6. # Minio的 Access Key
  7. accessKey = "Access Key Id"
  8. # Minio的 Secret Key
  9. secretKey = "Secret Key"
  10. # 对象存储的bucket
  11. bucket = "moredoc-private"
  12. # 对象存储 endpoint。
  13. # 注意:如果您配置了minio的ssl,则endpoint需要加上https,如https://192.168.0.102:8889,否则用类似以下的方式进行配置!!!
  14. endpoint = "192.168.0.102:8889"

6. 迁移与重启

迁移本地的 uploadsdocuments 到对象存储

  1. ./moredoc migrateCloudstore

重启文库程序。

配置参考

完整配置参考示例如下:

  1. # 程序运行级别:debug、info、warn、error,生产环境使用 info及其以上级别
  2. level = "debug"
  3. # 日志编码方式,支持:json、console
  4. logEncoding = "console"
  5. # 程序运行端口
  6. port = "8880"
  7. # 数据库配置
  8. [database]
  9. driver = "mysql"
  10. dsn = "root:root@tcp(localhost:3306)/moredoc?charset=utf8mb4&loc=Local&parseTime=true"
  11. showSQL = true
  12. maxOpen = 10
  13. maxIdle = 10
  14. # JSON Web Token 配置
  15. [jwt]
  16. # 生成 token 的密钥,请务必修改!!!
  17. secret = "moredoc"
  18. # token 过期时间
  19. expireDays = 365
  20. [cloudStore]
  21. # 存储类型,填minio,即Minio对象存储
  22. storeType = "minio"
  23. # 存储绑定的域名,带 http:// 或 https://
  24. domain = "https://static.moredoc.mnt.ltd"
  25. # Minio的 Access Key
  26. accessKey = "Access Key Id"
  27. # Minio的 Secret Key
  28. secretKey = "Secret Key"
  29. # 对象存储的bucket
  30. bucket = "moredoc-private"
  31. # 对象存储 endpoint
  32. endpoint = "192.168.0.102:8889