Minio简单介绍
最近的课程作业中,有个功能是做文件上传下载的,当然如果作业的话,使用MultipartFile进行简单的File IO,可以满足简单的需求,但看到Minio这么好看的界面,顿时想要去玩了。
Minio是一款跨平台的可「自建」轻量级对象存储服务,只需要一个命令,就能实现可以通过浏览器访问的简易网盘功能。支持本地储存和 AWS S3,最大存储对象 5TB。提供 API 与 SDK,可以和很多服务整合,甚至可以整合到 Android 与 iOS 应用中,使用 Apache License 2.0 协议发布。Github地址
首先它的控制界面是这个样子的:
个人感觉超级简洁有木有,通过该界面上传下载都是非常方便的,当然我们后台程序中,是通过java 的sdk来进行操作的。
安装篇:
简单安装
# wget https://dl.minio.io/server/minio/release/linux-amd64/minio
# chmod +x minio
# mv minio /usr/local/bin
# mkdir -p /tmp/minio
复制代码
通过这个安装之后,在/usr/local/bin目录下面执行这个命令,就能看到输出信息,获得accessKey和secretKey
# minio server /tmp/minio //后面的是数据目录
复制代码
将Minio设置成服务
以上步骤中,如果Ctrl+C退出之后,这个Minio服务也就同时停止了,所以如果需要它在后台进行服务,需要将它添加到后台服务中。(默认你在root权限=-=,不加sudo)
1、首先需要添加minio用户,以及建一个Minio文件夹
# adduser minio-user
# mkdir /tmp/minio
# chown minio-user:minio-user /tmp/minio
复制代码
2、建立一个配置文件,并更新你的Key值
# vim /etc/default/minio
MINIO_ACCESS_KEY=xxx
MINIO_SECRET_KEY=xxx
MINIO_VOLUMES="/tmp/minio/"
MINIO_OPTS="--address :9000"
复制代码
3、新建一个minio.service 在 /etc/systemd/system
# vim /etc/systemd/system/minio.service
[Unit]
Description=Minio
Documentation=https://docs.minio.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio
[Service]
WorkingDirectory=/usr/local/
User=minio-user
Group=minio-user
PermissionsStartOnly=true
EnvironmentFile=-/etc/default/minio
ExecStartPre=/bin/bash -c "[ -n \"${MINIO_VOLUMES}\" ] || echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\""
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
StandardOutput=journal
StandardError=inherit
# Specifies the maximum file descriptor number that can be opened by this process
LimitNOFILE=65536
# Disable timeout logic and wait until process is stopped
TimeoutStopSec=0
# SIGTERM signal is used to stop Minio
KillSignal=SIGTERM
SendSIGKILL=no
SuccessExitStatus=0
[Install]
WantedBy=multi-user.target
复制代码
5、正式启用和查看状态
# systemctl enable minio.service
# systemctl daemon-reload
# systemctl start minio
# systemctl status minio.service
复制代码
通过这些步骤,就可以后台运行Minio服务了。