天天看点

从零搭建开发脚手架 使用MinIO作为文件存储

文章目录

      • 部署
      • 设置桶策略
        • 通过Admin控制台
        • 通过代码
        • 通过minio client
      • Java SDK
      • Admin控制台
      • 问题
        • 问题1 控制台端口、用户名、密码配置
        • 问题2 文件在浏览器是预览还是下载

最新版本当前时间2021-08-13

当前版本号:

[[email protected] minio]# ./minio -v
minio version RELEASE.2021-07-22T05-23-32Z
           

minio中国官网:http://minio.org.cn/index.shtml

minio官网:https://min.io/

github:https://github.com/minio/minio

中国下载:http://minio.org.cn/download.shtml#/linux

历史版本:https://github.com/minio/minio/releases

部署

wget   http://dl.minio.org.cn/server/minio/release/linux-amd64/minio
chmod +x minio
./minio server /mnt/data
// 后台启动
sh ./minio server ./data &
           

设置桶策略

通过Admin控制台

先通过控制台创建桶(mall)

从零搭建开发脚手架 使用MinIO作为文件存储

然后在

ADMIN/Buckets

处管理桶

从零搭建开发脚手架 使用MinIO作为文件存储

设置

Access Polocy

访问策略为

public

从零搭建开发脚手架 使用MinIO作为文件存储

然后就可以通过

http://ip:9000/bucketname/objectname

访问到了

http://xxxx:9000/mall/test.jpg

默认是

private

私有的访问策略,分享的url最多有效期

7天

,其地址在url?xxxx拼接一堆校验的东西。

通过代码

先通过桶名称获取当前桶策略,然后拿出来改下再塞回去即可。

https://www.cnblogs.com/lkj371/p/12668131.html

https://blogs.qianlongyun.cn/archives/1382.html/

通过minio client

minio提供了一个客户端工具。可以直接对minio server进行配置,将指定桶设置为公共永久可下载。

1.安装客户端

Linux 二进制文件地址:https://dl.minio.io/client/mc/release/linux-amd64/mc

2.配置下载策略

客户端连接服务端

mc config host add minio http://192.168.8.78:9000 minioadmin minioadmin --api s3v4
           
使用客户端以及服务的Endpoint、AccessKey和SecretKey连接服务。

配置策略命令查看: mc policy

mc policy set download minio/mybucket
           
public

Java SDK

github地址:https://github.com/minio/minio-java

示例:https://github.com/minio/minio-java/tree/release/examples

<dependency>
    <groupId>io.minio</groupId>
    <artifactId>minio</artifactId>
    <version>8.3.0</version>
</dependency>
           

Admin控制台

用户、策略用于控制人员在控制台能进行哪些操作,例如读、写、读写、admin权限等

从零搭建开发脚手架 使用MinIO作为文件存储

问题

问题1 控制台端口、用户名、密码配置

WARNING: Console endpoint is listening on a dynamic port (44199), please use --console-address “:PORT” to choose a static port.
WARNING: Detected default credentials ‘minioadmin:minioadmin’, we recommend that you change these values with ‘MINIO_ROOT_USER’ and ‘MINIO_ROOT_PASSWORD’ environment variables

提示配置静态port、用户名、密码等

写了个shell如下:

export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=laker123
nohup ./minio server  --console-address ":9001" /home/minio/data &
           
端口分为api端口:9000,控制台端口指定如:9001 不能与api端口相同

--address '0.0.0.0:9000' --console-address '0.0.0.0:9001'

问题2 文件在浏览器是预览还是下载

直接下载:上传时设置文件的头信息为

pplication/octet-stream

预览:上传时设置文件的头信息为其对应的mime类型 。