MinIO快速入门

  • 基本概念

    • 对象(Object)

      对象是实际的数据单元,例如我们上传的一个图片。

    • 存储桶(Bucket)

      存储桶是用于组织对象的命名空间,类似于文件夹。每个存储桶可以包含多个对象。

    • 端点(Endpoint)

      端点是MinIO服务器的网络地址,用于访问存储桶和对象,例如http://192.168.10.101:9000

    • Access Key 和 Secret Key

      Access Key是用于标识和验证访问者身份的唯一标识符,相当于用户名。

      Secret Key是与Access Key关联的密码,用于验证访问者的身份

 部署MinIO

        

获取MinIO安装包

下载地址如下:https://dl.min.io/server/minio/release/linux-amd64/archive/minio-20230809233022.0.0.x86_64.rpm通过以下命令可直接将安装包下载至服务器

wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio-20230809233022.0.0.x86_64.rpm

安装MinIO

rpm -ivh minio-20230809233022.0.0.x86_64.rpm

集成Systemd

编写MinIO服务配置文件

Systemd所管理的服务需要由一个配置文件进行描述,这些配置文件均位于/etc/systemd/system/或者/usr/lib/systemd/system/目录下,下面创建MinIO服务的配置文件。

执行以下命令创建并打开minio.service文件

vim /etc/systemd/system/minio.service

重点关注上述文件中的以下内容即可

  • EnvironmentFile,该文件中可配置MinIO服务所需的各项参数

  • ExecStart,该参数用于配置MinIO服务的启动命令,其中$MINIO_OPTS$MINIO_VOLUMES,均引用于EnvironmentFile中的变量。

    • MINIO_OPTS用于配置MinIO服务的启动选项,可省略不配置。

    • MINIO_VOLUMES用于配置MinIO服务的数据存储路径。

  • Restart,表示自动重启

编写EnvironmentFile文件

执行以下命令创建并打开/etc/default/minio文件

vim /etc/default/minio

内容如下

MINIO_ROOT_USER=minioadmin
MINIO_ROOT_PASSWORD=minioadmin
MINIO_VOLUMES=/data
MINIO_OPTS="--console-address :9001"

注意

  • MINIO_ROOT_USERMINIO_ROOT_PASSWORD为用于访问MinIO的用户名和密码,密码长度至少8位

  • MINIO_VOLUMES用于指定数据存储路径,需确保指定的路径是存在的,可执行以下命令创建该路径。

    mkdir /data
  • MINIO_OPTS中的console-address,用于指定管理页面的地址。

启动MinIO

        执行以下命令启动MinIO

systemctl start minio

        执行以下命令查询运行状态

systemctl status minio

        设置MinIO开机自启

systemctl enable minio

访问MinIO管理页面

管理页面的访问地址为:http://192.168.10.101:9001

注意ip需要根据实际情况做出修改

1.登录

管理页面的地址为http://192.168.10.101:9001,登录的用户名和密码为部署时在EnvironmentFile文件中配置的如下参数

MINIO_ROOT_USER=minioadmin
MINIO_ROOT_PASSWORD=minioadmin

 2.创建存储桶

3.上传图片  

4.访问图片

  • 图片URL

    由于MinIO提供了HTTP访问功能,所以可以通过浏览器直接访问对象。对象URL为MinIO的Endpoint+对象的存储路径,例如下图中的图片对象的URL为http:192.168.10.101:9000/test/公寓-外观.jpg

访问权限

不出意外的话,使用浏览器访问上述URL,会得到如下响应,很显然是没有访问权限。

<Error>
    <Code>AccessDenied</Code>
    <Message>Access Denied.</Message>
    <Key>公寓-外观.jpg</Key>
    <BucketName>test</BucketName>
    <Resource>/test/公寓-外观.jpg</Resource>
    <RequestId>177BC92022FC5684</RequestId>
    <HostId>dd9025bab4ad464b049177c95eb6ebf374d3b3fd1af9251148b658df7ac2e3e8</HostId>
</Error>

若想继续访问图片,需要修改图片所在桶的访问权限,如下图所示

 

  • Private:只允许桶的所有者对该桶进行读写。

  • Public:允许所有人对该桶进行读写。

  • Custom:自定义访问权限。

若想将权限设置为只允许所有者写,但允许所有人读,就需要自定义访问权限。自定义访问权限,需要使用一个规定格式的JSON字符串进行描述,具体格式可参考官方文档

例如以下JSON字符串表达的含义是:允许(Allow)所有人(*)读取(s3:GetObject)指定桶(test)的所有内容。

{
  "Statement" : [ {
    "Action" : "s3:GetObject",
    "Effect" : "Allow",
    "Principal" : "*",
    "Resource" : "arn:aws:s3:::test/*"
  } ],
  "Version" : "2012-10-17"
}

test桶访问权限设置为Custom,并添加上述内容  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值