minio安装应用

准备下载文件

# 下载地址
https://min.io/download#/linux
选择minio server rpm安装包
  • 我们不需要安装命令,直接截取中间部分下载链接即可
https://dl.min.io/server/minio/release/linux-amd64/minio-20220717154314.0.0.x86_64.rpm

将下载好的文件上传至服务器[过程省略]

安装minio

  • 记得要开启对应端口哦,我在内网,所以直接将端口服务禁止了
 cd /tmp/
 rpm -ivh minio-20220717151314.0.0.x86_64.rpm
准备中...                          ################################# [100%]
正在升级/安装...
   1:minio-0:20220717154314.0.0-1     ################################# [100%]

根据service文件,创建相关用户,给用户授权

vi /etc/systemd/system/minio.service
  • minio.service文件内容
[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio

[Service]
# minio工作目录
WorkingDirectory=/usr/local

# 系统用户
User=minio-user
# 系统用户组
Group=minio-group
# 本行屏蔽
#ProtectProc=invisible

# 配置文件地址
EnvironmentFile=-/etc/default/minio
ExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\"; exit 1; fi"
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES

# Let systemd restart this service always 让 systemd 总是重启这个服务
Restart=always

# Specifies the maximum file descriptor number that can be opened by this process
# 指定此进程可以打开的最大文件描述符数
LimitNOFILE=1048576

# Specifies the maximum number of threads this process can create
# 指定此进程可以创建的最大线程数 默认无穷
TasksMax=infinity

# Disable timeout logic and wait until process is stopped 禁用超时逻辑并等待进程停止
TimeoutStopSec=infinity
SendSIGKILL=no

[Install]
WantedBy=multi-user.target

# Built for ${project.name}-${project.version} (${project.name})

  • 处理用户用户组
# 创建用户
adduser minio-user
# 添加密码
passwd minio-user
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
# 创建用户组
groupadd minio-group
# 将用户加入到用户组
gpasswd -a minio-user minio-group
正在将用户“minio-user”加入到“minio-group”组中
# 设置用户禁止登录
usermod -s /sbin/nologin minio-user
# 创建minio存储目录
pwd
/var/data/minio
# 授予用户目录权限
chown -R minio-user:minio-group minio
ll
总用量 0
drwxr-xr-x. 2 minio-user minio-group 6 7月  19 14:16 minio

配置minio配置文件

vi /etc/default/minio
# 文件内容如下
# minio存储目录
MINIO_VOLUMES="/var/data/minio"
# 启动端口号
MINIO_OPTS="--address :9009"
# 用户名
MINIO_ROOT_USER=minioadmin
# 用户名对应的密码
MINIO_ROOT_PASSWORD=minioadmin
# 区域
MINIO_REGION_NAME="cn-home"

minio 服务相关

# 启动服务
[root@localhost ~]# systemctl start minio.service && journalctl -f -n 20 -u minio.service
Starting MinIO...
7月 19 14:53:11 localhost.localdomain systemd[1]: Started MinIO.
7月 19 14:53:11 localhost.localdomain minio[24175]: WARNING: Detected Linux kernel version older than 4.0.0 release, there are some known potential performance problems with this kernel version. MinIO recommends a minimum of 4.x.x linux kernel version for best performance
7月 19 14:53:11 localhost.localdomain minio[24175]: WARNING: Detected default credentials 'minioadmin:minioadmin', we recommend that you change these values with 'MINIO_ROOT_USER' and 'MINIO_ROOT_PASSWORD' environment variables
7月 19 14:53:11 localhost.localdomain minio[24175]: MinIO Object Storage Server
7月 19 14:53:11 localhost.localdomain minio[24175]: Copyright: 2015-2022 MinIO, Inc.
7月 19 14:53:11 localhost.localdomain minio[24175]: License: GNU AGPLv3 
7月 19 14:53:11 localhost.localdomain minio[24175]: Version: RELEASE.2022-07-17T15-43-14Z (go1.18.4 linux/amd64)
7月 19 14:53:11 localhost.localdomain minio[24175]: Status:         1 Online, 0 Offline.
7月 19 14:53:11 localhost.localdomain minio[24175]: API: http://192.168.3.86:9009  http://127.0.0.1:9009
7月 19 14:53:11 localhost.localdomain minio[24175]: Console: http://192.168.3.86:39642 http://127.0.0.1:39642
7月 19 14:53:11 localhost.localdomain minio[24175]: Documentation: https://docs.min.io
# 查看服务状态
systemctl status minio.service
# 关闭服务
systemctl stop minio.service
# 重新加载服务配置
systemctl daemon-reload
# 设置开机启动
systemctl enable minio.service
  • 有两个警告,我们看下
  1. 说我们内核版本太低了
    WARNING: Detected Linux kernel version older than 4.0.0 release, there are some known potential performance problems with this kernel version. MinIO recommends a minimum of 4.x.x linux kernel version for best performance
  2. 说我们使用的默认用户名和密码不安全,要我们修改掉,上生产就直接修改为自己的
    WARNING: Detected default credentials 'minioadmin:minioadmin', we recommend that you change these values with 'MINIO_ROOT_USER' and 'MINIO_ROOT_PASSWORD' environment variables

访问管理界面[你的机器IP是多少就写多少]

  • http://192.168.0.86:9009


    登录界面

    登录成功
  • 登录成功后,minio提示创建一个Buckets(桶),有了这个Buckets(桶)后,我们才能做对应的存储

minio业务概念

Buckets 存储桶
Identity 身份验证信息
Users    用户信息
Groups   用户组
Service Accounts 服务账户
可以包含的关系示意: Groups -> Users -> Service Accounts
Access 权限配置
默认权限
consoleAdmin 控制台管理权限
diagnostics  诊断维护权限
readonly     只读权限
readwrite    读写权限
writeonly    只写权限

实战

  1. 创建一个存储桶:test02


    test02存储桶
  2. 创建一个test用户组


    添加入口

    创建test用户组
  3. 创建test-user02用户


    创建入口

    创建用户,赋予读写权限,纳入test用户组
  4. 给test-user02用户配置一个服务账号


    配置入口,点击test-user02

    配置服务账号入口

    自动生成,点击创建即可

    创建警示
  5. 增加一个用于test02存储桶的权限[test02BuAccess]


    设置入口
设置内容
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:*"
            ],
            "Resource": [
                "arn:aws:s3:::test02/*"
            ]
        }
    ]
}
  1. 更换test-user02的权限为刚刚创建的test02BuAccess权限


    设置入口

    去掉读写权限,只选择test02BuAccess权限
  2. 现在退出系统,用刚刚创建的test-user02用户登录系统,看看有什么?


    重新登录

配置nginx可直接访问某图片

  1. 配置nginx.cnf
 upstream minio_gateway {
        server 127.0.0.1:9009 weight=1 max_fails=2 fail_timeout=10s;
    }
 server {
        listen       19000;
        server_name  localhost:19000;
        location  / {
            proxy_set_header Host $http_host;
            proxy_pass http://minio_gateway;

        }
    }
  1. 设置test02桶只读权限


    规则是readonly加*
  2. 重载nginx配置,访问


    http://192.168.3.86:19000/test02/1223.png

你可能感兴趣的:(minio安装应用)