开源对象存储Minio的使用及问题解决

Minio的使用及问题解决

一、minio介绍

对象存储服务(Object Storage Service,OSS)是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本。

对于中小型企业,如果不选择存储上云,那么 Minio 是个不错的选择,麻雀虽小,五脏俱全。当然 Minio 除了直接作为对象存储使用,还可以作为云上对象存储服务的网关层,无缝对接到 Amazon S3、MicroSoft Azure。
在这里插入图片描述
左边是 MINIO 集群的示意图,整个集群是由多个角色完全相同的节点所组成的。因为没有特殊的节点,所以任何节点宕机都不会影响整个集群节点之间的通信。
通过 rest 跟 RPC 去通信的,主要是实现分布式的锁跟文件的一些操作。

右边这张图是单个节点的示意图,每个节点都单独对外提供兼容 S3 的服务。

二、安装

1.1、docker搭建minio

docker run -d -p 9000:9000   -p 9001:9001   --name minio   -v /data/minio:/data   -e "MINIO_ROOT_USER=minio"   -e "MINIO_ROOT_PASSWORD=Passw0rd@"   -e MINIO_DOMAIN="yunxue521.top"   --restart=always   minio/minio server /data --console-address ":9001"

1.2、安装mc客户端

这里直接用我bucket的链接吧~

wget http://minio.yunxue521.top/bucket-01/mc
chmod +x mc
mv mc /usr/bin/
mc ##测试一下,返回正常即安装成功

1.3 登陆minio控制台

云服务器要放通9001跟9000端口,本地服务器直接访问 IP:9001,值得一提的是9000端也要开放,作为数据传输端口
在这里插入图片描述

三、mc客户端使用

mc 自动补全

mc --autocompletion
bash ##重启bash

查看 minio server

./mc config host ls

添加 minio server

mc config host add minio http://192.168.1.5:9000 用户名  密码   ##前面docker指定的用户及密码

删除 minio server

mc config host remove minio

查看 minio server 中 bucket

[root@website /]# mc ls minio
[2021-11-14 12:31:33 CST]     0B bucket-01/
[root@website /]# mc ls minio/bucket-01/
[2021-11-14 17:01:56 CST]  20MiB mc
[2021-11-14 12:41:08 CST] 9.9KiB python.jpeg
[2021-11-14 17:25:41 CST]     0B music/

创建 bucket

mc mb minio/test

删除 bucket

mc rm minio/test

添加资源到 minio server

[root@website data] mc cp run.sh minio/bucket-01/
run.sh:                      1.37 KiB / 1.37 KiB ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃ 33.25 KiB/s 0s[root@website data]#

四、遇到问题及解决

关于minio的问题还没遇到过,只要是nginx端口转发的问题,为了尽可能的少开放安全组的端口,所以我尽量都会用nginx来转发请求

4.1、端口转发后css,js文件404找不到

首先我写了反向代理代理9001的请求,但是当请求css文件时,请求的地址是指向80端口,并没有指向9001端口,所以会报404的错误,折腾了半天,最终换了一种方法实现: nginx通过二级域名转发请求
配置文件如下:
注意:此方法需要域名

4.1.1、阿里云域名管理添加A纪录

在这里插入图片描述

4.1.2、nginx设置二级域名代理
server {
        listen       80;
        server_name  minio.yunxue521.top;
        #charset koi8-r;
                location / {
                        proxy_pass http://127.0.0.1:9001;
                        proxy_redirect     off;
            proxy_set_header   Host $host;
            proxy_hide_header Server;
            proxy_set_header X-Real-IP      $remote_addr;
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_connect_timeout      10;
            proxy_send_timeout         10;
            proxy_read_timeout         10;
            proxy_intercept_errors     on;
            proxy_buffering            off;
                }
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
            root   html;
        }
         location /bucket-01/ {
                        proxy_pass http://127.0.0.1:9000;
        }
    }

4.2 文件无法下载

因为上面只转发9001端口的流量,而9000端口数据服务没有转发,所以添加三行配置

location /bucket-01/ {
                        proxy_pass http://127.0.0.1:9000;
        }

完美解决!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈小c

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值