MinIO在Linux环境下部署

Minio 部署

  • MinIO 是一款开源的高性能分布式对象存储系统,专为云原生环境设计,完美兼容 Amazon S3 API,支持存储图片、视频、日志等非结构化数据(单对象最大 5TB)。其核心优势包括:

    1. 极简部署:单节点仅需 512MB 内存,支持 Docker 一键部署,30 秒内可快速搭建私有云存储;
    2. 企业级可靠性:通过纠删码技术实现数据冗余(允许半数节点故障自动修复),并具备 Bitrot 保护机制实时检测/修复数据损坏;
    3. 生态融合:无缝集成 Kubernetes、Spark 等工具,且提供细粒度权限控制与审计日志,适用于 AI/ML 训练、数据湖、灾备等场景。作为轻量级 S3 替代方案,MinIO 在标准硬件上可达 183GB/s 的读写性能,是构建混合云存储的理想选择。
  • 当然,笔者部署Minio是为了替代OSS服务来支持我的图床服务,由于我的服务器配置比较低(2核2g),所以这里就不展示使用Docker的部署方案了。

1.创建文件目录

首先在 /home 文件夹下创建一个 project 文件夹,然后在此文件夹下继续创建一个名叫 minio 的文件夹

1
2
3
4
cd home/
mkdir project
cd project/
mkdir minio

2.下载Minio安装包

进入我们刚刚创建的文件夹下,我们可以使用命令来直接下载Minio的安装包:

1
wget https://dl.minio.io/server/minio/release/linux-amd64/minio

如果安装过慢,可以使用代理或者先将文件下载到本地(直接浏览器访问 https://dl.minio.io/server/minio/release/linux-amd64/minio ),然后将文件上传到服务器上。

然后我们在 minio 文件夹下创建一个名为 minio.log 的文件:touch minio.log

3.赋予minio文件执行权限

进入minio文件夹下输入以下命令:chmod 777 minio

  1. chmod 这是 Linux 中修改文件/目录权限的核心命令,全称 Change Mode

  2. 777 由三个八进制数字组成,分别对应以下三类用户:

    • 第一个7:所有者(Owner)权限,4(读) + 2(写) + 1(执行) = 7,即rwx ;

    • 第二个7:所属组(Group)权限,同样为 rwx

    • 第三个7:其他用户(Others)权限,同样为 rwx ;

  3. minio 目标文件或目录的名称,可能是 MinIO 服务相关的配置文件、数据目录或可执行程序。

4.为minio创建一个账号和密码

进入 etc 文件夹下找到 profile 文件,然后再在文件的最后设置上minio的账号和密码。

1
2
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=password

然后在命名行中刷新一下刚刚配置的文件:source /etc/profile

5.创建启动脚本

在 minio 文件目录下创建一个minio-start.sh的脚本文件,然后将以下代码输入进入:

1
nohup ./minio server /home/project/minio/data --console-address ":9001" > /home/project/minio/minio.log 2>&1 &

通过 sh minio-start.sh 启动脚本文件,然后服务就启动成功了

  1. 核心功能:启动 MinIO 服务

    • ./minio server /home/project/minio/data

      • 表示启动 MinIO 服务器,并将数据存储目录指定为 /home/project/minio/data

      • server 是 MinIO 的启动命令,用于运行存储服务。

      • /home/project/minio/data 是自定义的存储路径,用户上传的文件会保存在此目录中。

    • --console-address ":9001" 设置 MinIO 控制台的访问端口为 9001。通过浏览器访问http://服务器IP:9001 ,可以进入 MinIO 的管理界面,进行桶(Bucket)创建、文件管理等操作。

  2. 后台运行与持久化

    • nohup 使命令忽略终端关闭信号(SIGHUP),即使用户退出 SSH 连接或关闭终端,服务也不会终止。

      • & 将进程放入后台运行,释放当前终端以便执行其他操作。
  3. 日志重定向

    • > /rhome/project/minio/minio.log 2>&1 将标准输出( stdout )和标准错误输出( stderr )重定向到文件 /root/project/minio/minio.log

      • > 表示覆盖写入日志文件(若需追加可用 >>)。

      • 2>&1 将错误输出合并到标准输出,确保所有日志均记录到同一文件。

然后就部署成功了,9000端口是MinIO的服务器端口,然后9001是管理端的端口。