Minio安装及使用

前言

在现在项目的开发中,文件存储方面的需求变得越来越多了。现在市面上几大云厂商都有提供一些相关存储的产品,开发者可以很方便的去使用。那我们如果有本地化的需求,那怎么办呢?Minio就是一款开源免费的产品,我们可以使用它进行本地化的部署来满足我们的需求。

配置要求
  1. 一台服务器:Ubuntu 22.04.1 LTS
  2. Minio安装包
安装Minio
下载Minio

访问Minio官网下载地址,找到对应操作系统安装包进行下载。

下载地址:https://min.io/download?license=agpl&platform=linux

# 下载minio安装包
wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio_20240826153307.0.0_amd64.deb -O minio.deb

# 安装
sudo dpkg -i minio.deb 
创建systemd服务

在执行完安装命令后,会创建一个minio.service服务文件。
文件目录地址:/usr/lib/systemd/system/minio.service。下面是文件内容:

layne@layne-ubuntu-2:/data$ cat /usr/lib/systemd/system/minio.service 
[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio

[Service]
Type=notify

WorkingDirectory=/usr/local

User=minio-user
Group=minio-user
ProtectProc=invisible

EnvironmentFile=-/etc/default/minio
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES

# Let systemd restart this service always
Restart=always

# Specifies the maximum file descriptor number that can be opened by this process
LimitNOFILE=1048576

# Turn-off memory accounting by systemd, which is buggy.
MemoryAccounting=no

# Specifies the maximum number of threads this process can create
TasksMax=infinity

# Disable timeout logic and wait until process is stopped
TimeoutSec=infinity

SendSIGKILL=no

[Install]
WantedBy=multi-user.target

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

从文件内容中看到服务是通过minio-user用户和用户组来执行的。还有两个环境变量MINIO_OPTSMINIO_VOLUMES分别是配置启动参数和存储路径的。

创建用户

根据上面的启动服务信息,我们需要创建一个minio-user用户及用户组。还需要创建一个文件存储路径,我这里把目录创建在/data/minio路径下。

# 创建用户组
sudo groupadd -r minio-user
# 创建用户并关联用户组
sudo useradd -M -r -g minio-user minio-user

# 创建文件存储路径
sudo mkdir -p /data/minio

# 更改文件存储路径所有者为minio-user
sudo chown minio-user:minio-user /data/minio
创建环境变量

在服务启动信息中,我们还需要创建两个环境变量MINIO_OPTSMINIO_VOLUMES,另外我们还需要给一个ROOT用户及密码初始化minio控制台登录账号。我们在/etc/default目录下生成一个minio文件,将环境变量配置写入这个minio文件中。

# 进入/etc/default/目录
layne@layne-ubuntu-2:/data/minio$ cd /etc/default/

# 通过touch命令创建一个minio文件
layne@layne-ubuntu-2:/etc/default$ sudo touch minio

# 编辑minio文件
layne@layne-ubuntu-2:/etc/default$ sudo vim minio 

# 将下面内容写入到minio文件中

# 配置ROOT用户和密码
MINIO_ROOT_USER=minioadmin
MINIO_ROOT_PASSWORD=minioadmin

# 配置存储地址
MINIO_VOLUMES="/data/minio"

# 配置启动参数
# 配置控制台端口9001
MINIO_OPTS="--console-address :9001"

启动Minio

配置信息都配置好后,我们就可以启动minio服务了。通过systemctl start命令来启动minio.service。通过systemctl status来查看服务运行状态。通过返回信息,我们可以看到控制台访问地址和默认登录账号及密码。或者我们可以执行journalctl -f -u minio.service命令来查看运行日志。

# 启动minio服务
layne@layne-ubuntu-2:/etc/default$ sudo systemctl start minio.service 

# 查看minio运行状态
layne@layne-ubuntu-2:/etc/default$ sudo systemctl status minio.service 

# 以下是运行状态信息
● minio.service - MinIO
     Loaded: loaded (/lib/systemd/system/minio.service; disabled; vendor preset: enabled)
     Active: active (running) since Mon 2024-09-09 20:33:52 CST; 9s ago
       Docs: https://docs.min.io
   Main PID: 105379 (minio)
      Tasks: 10
        CPU: 673ms
     CGroup: /system.slice/minio.service
             └─105379 /usr/local/bin/minio server --console-address :9001 /data/minio

9月 09 20:33:52 layne-ubuntu-2 minio[105379]: Copyright: 2015-2024 MinIO, Inc.
9月 09 20:33:52 layne-ubuntu-2 minio[105379]: License: GNU AGPLv3 - https://www.gnu.org/licenses/agpl-3.0.html
9月 09 20:33:52 layne-ubuntu-2 minio[105379]: Version: RELEASE.2024-08-26T15-33-07Z (go1.22.6 linux/amd64)
9月 09 20:33:52 layne-ubuntu-2 minio[105379]: API: http://192.168.56.102:9000  http://10.0.3.15:9000  http://172.17.0.1:900>
9月 09 20:33:52 layne-ubuntu-2 minio[105379]: WebUI: http://192.168.56.102:9001 http://10.0.3.15:9001 http://172.17.0.1:900>
9月 09 20:33:52 layne-ubuntu-2 minio[105379]: Docs: https://docs.min.io
9月 09 20:33:52 layne-ubuntu-2 minio[105379]: WARN: Detected default credentials 'minioadmin:minioadmin', we recommend that>
9月 09 20:33:53 layne-ubuntu-2 minio[105379]: INFO:
9月 09 20:33:53 layne-ubuntu-2 minio[105379]:  You are running an older version of MinIO released 2 days before the latest >
9月 09 20:33:53 layne-ubuntu-2 minio[105379]:  Update: Run `mc admin update ALIAS`
访问Minio

通过打印服务运行日志可以看到,minio控制台访问地址为http://192.168.56.102:9001。在浏览器输入地址访问,使用minioadmin账号密码登录就可以正常使用了。

登录页面:

首页:

停止Minio

我们想要停止Minio服务的话,只需要通过 systemctl stop minio.service 命令就可以停止服务了。

# 停止minio服务
layne@layne-ubuntu-2:/etc/default$ sudo systemctl stop minio.service 

# 查看minio运行状态
layne@layne-ubuntu-2:/etc/default$ sudo systemctl status minio.service 
○ minio.service - MinIO
     Loaded: loaded (/lib/systemd/system/minio.service; disabled; vendor preset: enabled)
     Active: inactive (dead)
       Docs: https://docs.min.io

9月 09 20:33:52 layne-ubuntu-2 minio[105379]: Docs: https://docs.min.io
9月 09 20:33:52 layne-ubuntu-2 minio[105379]: WARN: Detected default credentials 'minioadmin:minioadmin', we recommend that>
9月 09 20:33:53 layne-ubuntu-2 minio[105379]: INFO:
9月 09 20:33:53 layne-ubuntu-2 minio[105379]:  You are running an older version of MinIO released 2 days before the latest >
9月 09 20:33:53 layne-ubuntu-2 minio[105379]:  Update: Run `mc admin update ALIAS`
9月 09 20:59:26 layne-ubuntu-2 systemd[1]: Stopping MinIO...
9月 09 20:59:26 layne-ubuntu-2 minio[105379]: INFO: Exiting on signal: TERMINATED
9月 09 20:59:26 layne-ubuntu-2 systemd[1]: minio.service: Deactivated successfully.
9月 09 20:59:26 layne-ubuntu-2 systemd[1]: Stopped MinIO.
9月 09 20:59:26 layne-ubuntu-2 systemd[1]: minio.service: Consumed 2.441s CPU time.
更新systemd服务

我们想要更新Minio服务脚本信息的话,只需要编辑文件/usr/lib/systemd/system/minio.service就好了。编辑完保存后,执行命令systemctl daemon-reload刷新一下,就可以执行启动服务了。

# 编辑minio.service
layne@layne-ubuntu-2:/etc/default$ sudo vim /usr/lib/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]
Type=notify

WorkingDirectory=/usr/local

User=minio-user
Group=minio-user
ProtectProc=invisible

EnvironmentFile=-/etc/default/minio
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES

# Let systemd restart this service always
Restart=always

# Specifies the maximum file descriptor number that can be opened by this process
LimitNOFILE=1048576

# Turn-off memory accounting by systemd, which is buggy.
MemoryAccounting=no

# Specifies the maximum number of threads this process can create
TasksMax=infinity

# Disable timeout logic and wait until process is stopped
#TimeoutSec=infinity
TimeoutSec=0

SendSIGKILL=no

[Install]
WantedBy=multi-user.target

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

-----以上是minio.service内容

# 刷新一下服务
layne@layne-ubuntu-2:/etc/default$ sudo systemctl daemon-reload 

# 启动minio服务
layne@layne-ubuntu-2:/etc/default$ sudo systemctl start minio.service 
使用Minio

Minio使用起来很简单,登录Minio控制台,找到对应菜单进行操作就好了,下面是一些简单的操作页面截图。

创建桶Buckets

创建文件

创建目录

后语

总而言之,Minio安装还是很简单的。而且官网上有很详细的安装指导说明,有兴趣的朋友可以去官网多看看,里面很多参数配置值得我们去研究学习。当然,我这里是安装的一个简单的单机版,Minio是支持分布式安装的,这个安装方法大家可以去官网详细了解一下。对于Minio的使用,这篇只是简单说了下控制台的使用。对于开发的朋友,我们更关注的是怎么使用minio的SDK来操作,这个内容就留在下一篇文章来说明吧。

喜欢的朋友可以点个关注,感谢阅读。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Layne_lei

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

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

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

打赏作者

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

抵扣说明:

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

余额充值