MinIO 是一个基于 Go语言实现的高性能对象存储。它采用AGPL(GNU Affero General Public License) 开源协议并兼容 S3 协议。
官网地址:https://min.io/
github地址:https://github.com/minio/minio
要想操作MinIO,首先肯定是要安装部署服务,由于 MinIO 是 Go语言写的,因此它就只有一个运行程序,安装部署 MinIO 就非常简单。
在MinIO官网的下载页面中https://min.io/download#/linux,已经提供了多种安装部署方式,我们使用在Linux环境下部署的方式。
为了便于日后对MinIO数据进行管理,在服务器中创建专门用于MinIO的目录,本人在 /data 目录下创建 minio 文件夹 ,并在minio文件夹下创建如下文件夹。
mkdir -p /data/minio/{bin,data,config,log}
根据官网,使用如下命令下载MinIO二进制文件,建议将 MinIO 服务端和客户端都下载下来。
进入到 bin 目录,使用如下命令下载文件并添加执行权限。
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio #添加执行权限
wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc #添加执行权限
由于是外网链接,下载速度有可能会很慢,请耐心等待。
下载完成并添加执行权限后,可以通过官网提供的命令启动:
MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=password ./minio server /data/minio/data --console-address ":9001"
但有时我们并不想使用官网的命令进行启动,可能我们需要修改下控制台页面的访问端口,或是修改S3-API的访问端口,可以使用如下命令,可以根据自己的需求进行自定义修改。
MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=password nohup /data/minio/bin/minio server --config-dir /data/minio/config /data/server/minio/data --address ":2222" --console-address ":1111" > /data/server/minio/log/minio.log 2>&1 &
根据自己的需求对上诉启动命令进行相应修改。
在3.1.3章节已经介绍了如何启动MinIO服务,但是为了方便启动和关闭,我们添加下启动和关闭脚本。
在 /data/minio 目录下通过vim命令创建 minio-startup.sh 文件:
vim /data/minio/minio-startup.sh
进入到编辑模式后输入如下内容:
#!/bin/bash
# 设置MinIO的配置参数
# 用户名
export MINIO_ROOT_USER=admin
# 密码
export MINIO_ROOT_PASSWORD=password
#设置MinIO端口
#S3-API端口
export MINIO_ADDRESS=":6900" #可按需修改
#Console控制台页面访问端口
export MINIO_CONSOLE_ADDRESS=":6901" # 可按需修改
#设置MinIO安装路径
export MINIO_PATH_DIR="/data/minio/bin"
#设置MinIO配置文件路径
export MINIO_CONFIG_DIR="/data/minio/config"
# 设置数据存储路径
export MINIO_DATA_DIR="/data/minio/data"
# 设置日志存储路径
export MINIO_LOG_DIR="/data/minio/log"
# 启动MinIO服务器
nohup $MINIO_PATH_DIR/minio server --address $MINIO_ADDRESS --console-address $MINIO_CONSOLE_ADDRESS --config-dir $MINIO_CONFIG_DIR $MINIO_LOG_DIR > $MINIO_LOG_DIR/minio.log 2>&1 &
保存退出,启动脚本文件创建成功后,赋予可执行的权限:
chmod +x minio-startup.sh
至此,启动脚本创建完成 。
在 /data/minio 目录下通过vim命令创建 minio-shutdown.sh 文件:
vim /data/minio/minio-shutdown.sh
进入到编辑模式后输入如下内容:
#!/bin/bash
echo "shutdown minio"
pid=`ps -ef | grep 'minio server' | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
kill -9 $pid
fi
echo "Success!"
保存退出,关闭脚本创建完成后,赋予可执行的权限:
chmod +x minio-shutdown.sh
至此,关闭脚本创建完成 。
使用浏览器访问 http://服务器IP:1111地址,访问 MinIO 内置的 UI 界面。
账号为 admin,密码为 password 进行登录,成功进入首页。
默认情况下,访问Bucket是需要进行请求授权的,但是在实际使用过程中,我们希望可以直接访问Bucket,因此,需要给相应的Bucket添加 readonly 访问策略。
文件的访问地址的格式为 http://{IP}:{S3-API端口}/{bucket}/{name};按照以上配置,图片的访问路径为:http://127.0.0.1:2222/test/minio-logo.png,最终效果如下:
MinIO Client (mc) 是 MinIO 提供的命令行工具,用于访问 MinIO Server。在以上步骤中已经介绍过如何安装。如果对MC感兴趣可以访问官网进行学习。
官网地址:https://min.io/docs/minio/linux/reference/minio-mc.html
至此,Linux下MinIO单节点安装部署完成。