JDWA 技术文档
首页
  • 数据库
  • 前端开发
  • 后端开发
  • 开发工具
  • 虚拟化技术
  • KVM显卡直通
  • FPGA仿真固件
  • 项目实战
  • 踩坑记录
  • 开发心得
  • 软件工具
  • 学习资料
  • 开发环境
更新日志
关于我
Gitee
GitHub
首页
  • 数据库
  • 前端开发
  • 后端开发
  • 开发工具
  • 虚拟化技术
  • KVM显卡直通
  • FPGA仿真固件
  • 项目实战
  • 踩坑记录
  • 开发心得
  • 软件工具
  • 学习资料
  • 开发环境
更新日志
关于我
Gitee
GitHub
  • 数据库

    • 数据库教程
    • MySQL免安装版使用指南
    • MySQL性能优化实践
    • Redis入门与实践
    • MinIO快速部署指南
    • MinIO基础使用教程
  • 前端开发

    • 前端开发教程
    • Vue.js开发最佳实践
    • CSS常用技巧与解决方案
    • JavaScript实用技巧与编程模式
    • CSS Grid布局教程
  • 后端开发

    • 后端开发教程
    • Spring Boot实战指南
    • Node.js Express 框架开发实战指南
    • Python Flask 框架开发指南
  • 开发工具

    • 开发工具教程
    • Git 基础教程
    • Git工作流实践指南
    • VS Code 全面使用指南
    • VS Code必装插件推荐
    • Docker基础入门
    • IntelliJ IDEA 使用技巧
    • Eclipse配置与优化
    • Sublime Text 高级技巧
    • Vim 从入门到精通
    • Maven 详解
    • Gradle 入门与进阶
    • Webpack 配置指南
    • npm 与 yarn 使用技巧
    • Makefile 编写指南
    • Navicat 使用指南
    • MCP本地部署教程
  • 虚拟化技术

    • JDWA虚拟化技术专题
    • KVM虚拟机去虚拟化技术详解
  • KVM显卡直通

    • KVM显卡GPU直通教程
  • FPGA仿真固件

    • FPGA仿真固件开发指南
    • 基础-完整设备仿真定制固件开发指南
    • 中级-完整设备仿真定制固件开发指南
    • 高级-完整设备仿真定制固件开发指南

MinIO快速部署指南

资源下载: MinIO部署资源包 密码: jdwa

Tips

本教程适用于MinIO最新版本,包含Windows和Linux环境下的部署步骤,便于快速搭建私有云存储服务。

1. MinIO简介

MinIO是一个高性能的开源对象存储服务,完全兼容Amazon S3 API,可用于构建高性能的数据基础设施和应用程序。

1.1 MinIO的主要特点

  • 高性能:基于Go语言编写,性能卓越
  • S3兼容:完全兼容Amazon S3 API,可无缝集成现有应用
  • 轻量部署:单一二进制文件,易于部署
  • 跨平台:支持Windows、Linux、macOS等多种平台
  • 可扩展:支持分布式部署,无单点故障
  • 安全性:支持TLS加密和各种身份验证方式
  • 多租户:支持多租户隔离
  • 丰富的SDK:提供多种语言的SDK支持

1.2 应用场景

  • 私有云存储:构建企业内部的对象存储服务
  • 备份和归档:数据备份和长期存储
  • 大数据分析:存储机器学习、AI训练数据
  • 多媒体存储:图片、视频、音频等媒体文件存储
  • 静态网站托管:托管静态网站内容
  • 应用程序数据:服务端应用的数据存储解决方案

2. Windows环境部署

2.1 下载安装包

  1. 从本教程提供的资源下载链接获取MinIO Windows版本安装包
  2. 或者从MinIO官方网站下载最新版本
  3. 解压下载的ZIP文件到本地目录,如D:\minio

2.2 配置启动脚本

创建start-minio.bat文件,添加以下内容(根据实际情况修改):

@echo off
echo Starting MinIO Server...

rem Set MinIO root credentials
set MINIO_ROOT_USER=admin
set MINIO_ROOT_PASSWORD=12345678

rem Set CORS configuration
set MINIO_BROWSER=on
set MINIO_DOMAIN=10.102.3.42
set MINIO_CORS_ALLOW_ORIGIN=*

rem Create data directory if it doesn't exist
if not exist "F:\Minio-data" mkdir "F:\Minio-data"

echo Access Key: %MINIO_ROOT_USER%
echo Secret Key: %MINIO_ROOT_PASSWORD%
echo Console: http://10.102.3.42:9001
echo API: http://10.102.3.42:9000

rem Start MinIO server
minio.exe server F:\Minio-data --console-address ":9001" --address ":9000" 

⚠️ 重要提示:根据您的实际环境修改以下内容:

  • MINIO_ROOT_USER和MINIO_ROOT_PASSWORD:设置管理员账号密码
  • MINIO_DOMAIN:设置为服务器的IP地址
  • F:\Minio-data:设置数据存储位置,确保有足够的磁盘空间
  • 控制台端口(9001)和API端口(9000):可根据需要修改

2.3 运行MinIO服务

  1. 双击start-minio.bat脚本启动MinIO服务
  2. 服务启动后,可以通过浏览器访问控制台:http://服务器IP:9001
  3. 使用配置的用户名和密码登录控制台

2.4 配置为Windows服务(可选)

使用NSSM工具将MinIO配置为Windows服务,实现开机自启动:

  1. 下载NSSM工具
  2. 解压后运行命令:
    nssm.exe install MinIOServer
    
  3. 在弹出的配置窗口中:
    • Path:选择minio.exe的完整路径
    • Startup directory:选择minio.exe所在目录
    • Arguments:server F:\Minio-data --console-address ":9001" --address ":9000"
    • 在Details选项卡中设置服务名称和描述
    • 在Environment选项卡中添加环境变量:
      MINIO_ROOT_USER=admin
      MINIO_ROOT_PASSWORD=12345678
      MINIO_BROWSER=on
      MINIO_DOMAIN=服务器IP
      MINIO_CORS_ALLOW_ORIGIN=*
      
  4. 点击"Install service"按钮完成安装
  5. 使用services.msc命令打开服务管理器,找到MinIOServer服务并启动

3. Linux环境部署

3.1 下载安装包

使用命令行下载MinIO服务器:

wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio

3.2 创建启动脚本

创建start-minio.sh脚本:

#!/bin/bash
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=12345678
export MINIO_BROWSER=on
export MINIO_DOMAIN=服务器IP
export MINIO_CORS_ALLOW_ORIGIN=*

# 创建数据目录
mkdir -p /data/minio

# 启动MinIO服务
./minio server /data/minio --console-address ":9001" --address ":9000"

赋予脚本执行权限:

chmod +x start-minio.sh

3.3 配置为系统服务

创建systemd服务文件/etc/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]
WorkingDirectory=/usr/local/
User=minio
Group=minio
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
Restart=always
LimitNOFILE=65536
TasksMax=infinity
TimeoutStopSec=infinity
SendSIGKILL=no

[Install]
WantedBy=multi-user.target

创建环境配置文件/etc/default/minio:

# MinIO服务的监听地址和端口
MINIO_OPTS="--address :9000 --console-address :9001"
# 存储位置
MINIO_VOLUMES="/data/minio"
# 管理员凭证
MINIO_ROOT_USER=admin
MINIO_ROOT_PASSWORD=12345678
# 其他配置
MINIO_BROWSER=on
MINIO_DOMAIN=服务器IP
MINIO_CORS_ALLOW_ORIGIN=*

配置用户和权限:

# 创建minio用户
useradd -r minio -s /sbin/nologin

# 设置目录权限
chown -R minio:minio /data/minio
chmod 750 /data/minio

# 移动MinIO可执行文件到系统目录
mv minio /usr/local/bin/
chown minio:minio /usr/local/bin/minio

启用并启动服务:

systemctl enable minio
systemctl start minio
systemctl status minio

4. 验证部署

4.1 访问控制台

使用浏览器访问:http://服务器IP:9001

使用配置的管理员用户名和密码登录。

4.2 创建测试存储桶

  1. 登录控制台后,点击左侧"Buckets"
  2. 点击"Create Bucket"按钮
  3. 输入存储桶名称(如"test")并创建
  4. 尝试上传和下载文件测试功能

4.3 API测试

使用S3兼容的客户端(如s3cmd、aws cli等)连接测试:

使用 AWS CLI 测试:

# 配置AWS CLI
aws configure set aws_access_key_id admin
aws configure set aws_secret_access_key 12345678
aws configure set default.region us-east-1
aws configure set default.s3.signature_version s3v4

# 使用--endpoint指定MinIO服务地址
aws --endpoint-url http://服务器IP:9000 s3 ls

5. 基本配置优化

5.1 开启HTTPS(推荐)

在生产环境中,强烈建议启用HTTPS加密:

Windows环境: 在启动脚本中添加证书路径:

minio.exe server F:\Minio-data --console-address ":9001" --address ":9000" --certs-dir F:\minio-certs

Linux环境: 修改/etc/default/minio文件,添加证书路径:

MINIO_OPTS="--address :9000 --console-address :9001 --certs-dir /etc/minio/certs"

5.2 调整缓存设置

对于大文件优化,可调整磁盘缓存:

Windows环境:

set MINIO_CACHE="on"
set MINIO_CACHE_DRIVES="F:\Minio-cache"
set MINIO_CACHE_EXCLUDE="*.pdf,*.mp4"
set MINIO_CACHE_QUOTA=80
set MINIO_CACHE_AFTER=3
set MINIO_CACHE_WATERMARK_LOW=70
set MINIO_CACHE_WATERMARK_HIGH=90

Linux环境: 在/etc/default/minio中添加:

MINIO_CACHE="on"
MINIO_CACHE_DRIVES="/data/minio-cache"
MINIO_CACHE_EXCLUDE="*.pdf,*.mp4"
MINIO_CACHE_QUOTA=80
MINIO_CACHE_AFTER=3
MINIO_CACHE_WATERMARK_LOW=70
MINIO_CACHE_WATERMARK_HIGH=90

5.3 配置访问日志

开启访问日志便于排查问题:

Windows环境:

set MINIO_LOGGER="on"
set MINIO_LOGGER_WEBHOOK="logger:console"

Linux环境:

MINIO_LOGGER="on"
MINIO_LOGGER_WEBHOOK="logger:console"

6. 常见问题排查

6.1 连接被拒绝

  • 检查防火墙设置,确保9000和9001端口已开放
  • 验证MinIO服务是否正常运行
  • 确认IP配置正确,特别是MINIO_DOMAIN设置

6.2 权限问题

  • Windows:确保用户对数据目录有完全控制权限
  • Linux:检查目录所有权和权限 ls -la /data/minio

6.3 内存不足

MinIO默认会尝试使用尽可能多的系统内存,可限制内存使用:

Windows环境:

set MINIO_OPTIMAL_MEMORY=1GiB

Linux环境:

MINIO_OPTIMAL_MEMORY=1GiB

6.4 磁盘空间不足

  • 定期监控磁盘使用情况
  • 配置存储配额限制
  • 实现自动清理策略

7. 多节点部署(分布式模式)

对于生产环境,可考虑分布式部署以提高可用性:

Windows示例(4节点):

minio.exe server ^
  http://server1/F:/minio-data ^
  http://server2/F:/minio-data ^
  http://server3/F:/minio-data ^
  http://server4/F:/minio-data

Linux示例(4节点):

minio server \
  http://server1/data/minio \
  http://server2/data/minio \
  http://server3/data/minio \
  http://server4/data/minio

总结

本教程介绍了MinIO对象存储服务在Windows和Linux环境下的部署方法,通过按照本指南的步骤,您可以快速搭建一个高性能的私有云存储服务。MinIO的S3兼容性使其成为众多云存储应用场景的理想选择,无论是备份存储、多媒体处理还是大数据应用。

在生产环境中部署时,务必注意安全性配置,建议启用HTTPS、设置强密码、合理规划存储空间和定期备份数据。

相关资源

  • MinIO官方文档
  • MinIO基础使用教程
  • MinIO与Spring Boot集成

如有问题或建议,欢迎联系作者: 1412800823@qq.com

粤ICP备2025415495号
Prev
Redis入门与实践
Next
MinIO基础使用教程