news 2026/4/22 21:35:26

MinIO 对象存储服务从零部署与使用指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MinIO 对象存储服务从零部署与使用指南

MinIO 对象存储服务从零部署与使用指南

在大数据、云原生、备份归档等场景中,对象存储已成为基础设施的重要组成部分。MinIO 是一款高性能、兼容 S3 API 的开源对象存储系统,轻量且易于部署。本文将以 CentOS 7/8 为例,手把手带你完成 MinIO 的安装、后台启动、Web 控制台配置以及用户/Bucket 管理,并提供清晰的流程图和架构示意。


一、MinIO 是什么?

MinIO 是一个基于 Go 语言编写的对象存储服务器,完全兼容 Amazon S3 API。你可以把它当作私有云上的 S3 来使用,适合存储图片、视频、日志、备份等非结构化数据。

核心特点

  • 高性能:单个节点可达到 GB/s 级吞吐。
  • 可扩展:支持分布式集群(多节点多磁盘)。
  • 轻量:二进制文件仅几十 MB,无外部依赖。
  • 安全:支持 TLS 加密、IAM 策略、AWS 风格的用户权限。

官方网站:https://min.io | GitHub:https://github.com/minio/minio


二、MinIO 单机部署完整流程

下面以单机模式为例,展示从创建目录到启动服务的全过程。生产环境建议使用分布式模式,但单机适合测试和小规模场景。

2.1 整体流程图

开始部署 MinIO

创建数据、二进制、日志目录

上传 minio 二进制文件
到 /opt/modules/minio/bin

赋予执行权限
chmod +x minio

设置 root 账号密码
export MINIO_ROOT_USER/PASSWORD

前台启动测试
./minio server /data

启动成功?

检查端口/目录权限/防火墙

改为后台 nohup 启动
日志输出到 minio.log

验证 9000 端口监听

浏览器访问 http://IP:9000
使用账号密码登录

创建 Bucket
创建用户/策略

部署完成

2.2 详细步骤

步骤 1:创建目录结构

统一将 MinIO 相关文件放在/opt/modules/minio下,便于管理:

mkdir-p/opt/modules/minio/{data,bin,logs}
  • data:存储实际的对象数据。
  • bin:存放 minio 可执行文件。
  • logs:存放运行日志。
步骤 2:上传 MinIO 二进制文件

从 MinIO 官方下载页 获取 Linux amd64 版本,或使用wget直接下载:

cd/opt/modules/minio/binwgethttps://dl.min.io/server/minio/release/linux-amd64/minio

如果你已有安装包(如minio文件),通过 SFTP 或 scp 上传至此目录。

步骤 3:赋予执行权限
chmod+x /opt/modules/minio/bin/minio

验证权限:

ls-l/opt/modules/minio/bin/minio# 输出应包含 -rwxr-xr-x
步骤 4:设置 root 账号和密码

MinIO 默认使用环境变量MINIO_ROOT_USERMINIO_ROOT_PASSWORD来设置超级管理员。建议先导出变量(临时生效,仅当前会话):

exportMINIO_ROOT_USER=minioadminexportMINIO_ROOT_PASSWORD=minioadmin

生产环境请使用强密码,并写入/etc/profile或 systemd 服务文件中。

步骤 5:前台启动测试

先以前台方式启动,方便观察是否有错误:

/opt/modules/minio/bin/minio server /opt/modules/minio/data/

启动成功会看到类似输出:

API: http://192.168.10.60:9000 http://127.0.0.1:9000 RootUser: minioadmin RootPass: minioadmin

按下Ctrl+C停止前台进程。

步骤 6:后台启动(守护进程)

使用nohup将服务放到后台,并将日志输出到指定文件:

nohup/opt/modules/minio/bin/minio server /opt/modules/minio/data/\>/opt/modules/minio/logs/minio.log2>&1&
  • 2>&1:将标准错误也重定向到日志文件。
  • &:后台运行。

查看进程:

psaux|grepminio
步骤 7:验证端口监听

MinIO 默认监听9000端口(API 与 Web 控制台共用)。确认端口已监听:

netstat-tlnp|grep9000# 或ss-tlnp|grep9000

如果防火墙开启,需要放行 9000 端口:

firewall-cmd--zone=public --add-port=9000/tcp--permanentfirewall-cmd--reload
步骤 8:访问 Web 控制台

打开浏览器,访问http://<服务器IP>:9000,例如:

http://192.168.10.60:9000

登录界面输入:

  • 用户名minioadmin
  • 密码minioadmin
步骤 9:基础操作(创建 Bucket 和用户)

登录后,你会看到简洁的管理界面。

① 创建 Bucket(存储桶)
Bucket 相当于文件夹,是存储对象的容器。点击左下角的“Create Bucket”,输入名称(如my-bucket),点击创建。

② 上传对象
进入刚创建的 Bucket,点击“Upload”选择文件即可上传。

③ 创建用户(IAM)
点击左侧菜单“Identity” -> “Users”,然后“Create User”,填写用户名和密码,并分配策略(如readonlyreadwrite)。创建后可生成Access KeySecret Key,用于程序调用 S3 API。


三、MinIO 后台管理架构简图

HTTP

读取/写入

认证

桶管理

客户端
浏览器 / SDK

MinIO Server
:9000

磁盘数据
/opt/modules/minio/data

内置 IAM
用户/策略/密钥

Bucket 元数据

MinIO 完全兼容 AWS S3 的 REST API,因此你可以使用awscliboto3minio-py等任意 S3 客户端来操作。


四、进阶:配置 systemd 服务(推荐)

使用nohup管理进程不够优雅,可以编写 systemd 服务文件,实现开机自启和自动重启。

创建文件/etc/systemd/system/minio.service

[Unit] Description=MinIO Object Storage After=network.target [Service] Type=simple User=root Group=root Environment="MINIO_ROOT_USER=minioadmin" Environment="MINIO_ROOT_PASSWORD=minioadmin" ExecStart=/opt/modules/minio/bin/minio server /opt/modules/minio/data/ Restart=always RestartSec=10 StandardOutput=append:/opt/modules/minio/logs/minio.log StandardError=append:/opt/modules/minio/logs/minio.log [Install] WantedBy=multi-user.target

然后执行:

systemctl daemon-reload systemctlenableminio systemctl start minio systemctl status minio

五、常见问题与解决方案

问题可能原因及解决办法
访问http://IP:9000打不开防火墙未放行 9000 端口;检查netstat -tlnp是否监听
登录提示“Invalid Login”环境变量MINIO_ROOT_USER/PASSWORD未正确设置或未生效
后台启动后进程很快消失查看日志/opt/modules/minio/logs/minio.log排查错误
上传文件失败或权限不足检查data目录是否有写权限(chown -R 当前用户
分布式部署时节点无法组成集群需使用相同的MINIO_ROOT_USER/PASSWORD,并配置所有节点

六、使用 S3 客户端连接 MinIO

例如使用 AWS CLI 连接私有 MinIO:

# 安装 awsclipipinstallawscli# 配置 endpoint 和 access keyaws configuresets3.endpoint_url http://192.168.10.60:9000 aws configuresetaws_access_key_id minioadmin aws configuresetaws_secret_access_key minioadmin# 列出所有 bucketaws s3ls

也可以使用mc(MinIO Client)命令行工具,功能更强大。


七、总结

通过本文,我们完成了以下工作:

  1. 理解了 MinIO:高性能、S3 兼容的对象存储。
  2. 单机部署全流程:目录创建 → 上传二进制 → 启动 → Web 控制台 → Bucket/用户管理。
  3. 后台运行:使用 nohup 或 systemd 实现守护进程。
  4. 流程图辅助:清晰展示了从零到可访问的完整步骤。
  5. 常见问题排查:快速解决部署中的拦路虎。

MinIO 是私有云对象存储的首选方案之一,无论你是搭建个人图床,还是企业级数据湖,都可以基于它快速落地。下一篇文章我们将探讨MinIO 分布式集群部署与 Spring Boot 集成实现文件上传,欢迎持续关注。

源码与脚本:本文所有命令已整理成一键部署脚本,可访问 GitHub - minio-deploy-script 获取(示例链接)。

延伸阅读

  • MinIO 官方文档
  • 使用 MinIO 作为 Kubernetes 的备份存储

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/22 21:35:25

Mermaid Live Editor:5分钟学会的终极免费在线图表编辑器

Mermaid Live Editor&#xff1a;5分钟学会的终极免费在线图表编辑器 【免费下载链接】mermaid-live-editor Edit, preview and share mermaid charts/diagrams. New implementation of the live editor. 项目地址: https://gitcode.com/GitHub_Trending/me/mermaid-live-edi…

作者头像 李华
网站建设 2026/4/22 21:30:51

DeerFlow实战手册:DeerFlow生成内容合规性检查与人工审核流程

DeerFlow实战手册&#xff1a;DeerFlow生成内容合规性检查与人工审核流程 1. DeerFlow简介与核心能力 DeerFlow是字节跳动基于LangStack技术框架开发的深度研究开源项目&#xff0c;作为您的个人深度研究助理&#xff0c;它整合了语言模型、网络搜索、Python代码执行等强大工…

作者头像 李华
网站建设 2026/4/22 21:24:18

CN3704 5A 四节锂电池充电管理集成电路

概述: CN3704 是 PWM 降压模式四节锂电池充电管理集成电路&#xff0c;独立对四节锂电池充电进行自动管理&#xff0c;具有封装外形小&#xff0c;外围元器件少和使用简单等优点。 CN3704 具有恒流和恒压充电模式&#xff0c;非常适合锂电池的充电。在恒压充电模式&#xff0c;…

作者头像 李华
网站建设 2026/4/22 21:22:29

DeepSeek V4 这周发!梁文锋扛不住了

这几天两个事&#xff1a;DeepSeek 首轮融资来了&#xff0c;目标3亿美金&#xff0c;估值100亿美金&#xff1b;另一个就是&#xff0c;一位接近DeepSeek的业内人士说&#xff0c;V4 预计本周发布。下面就来聊聊。据外媒 The Information 报道&#xff0c;DeepSeek 正在与投资…

作者头像 李华
网站建设 2026/4/22 21:16:31

裁剪到市!全球17种土地类型数据集(全球/中国/分省/分市/Tif)

数据简介今天我们分享的数据是全球混合土地覆盖图&#xff0c;该数据包含土地覆盖分类的置信度或概率信息以及最终的土地覆盖分类结果&#xff0c;其中有17种&#xff0c;原始数据为全球的土地覆盖数据&#xff0c;为便于使用&#xff0c;我们将其裁剪为中国区域、各省以及各市…

作者头像 李华