Minio 安装部署

本文介绍了如何在Linux环境下手动部署Minio对象存储服务,包括下载二进制文件,设置执行权限,创建配置目录、数据存储目录和日志文件,以及编写启动和停止脚本。通过设置环境变量并运行脚本,可以启动Minio服务,访问地址为http://ip:8001,使用默认的账号密码minio/minio@123。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Minio 安装部署

背景

​ 本人所在公司历史产品依赖minio作为对象存储,而经过优化后,没人维护,在服务器上也没有相关公共组件,所以只能自己部署一个单节点,实现对产品Demo的部署。下面是本人实操,希望可以帮到大家。

部署

  1. 下载

    https://min.io/download#/linux

    可根据自己服务器系统,选择合适安装部署包,本人下载二进制文件。

  2. 安装

    #添加执行权限
    chmod +x minio
    #在minio 二进制文件所在目录下创建以下目录
    config //minio 配置文件目录
    data // minio 数据存储目录,确保可存储
    minio.log // minio日志输出文件
    

    在minio 安装目录下创建启动脚本 start.sh,脚本内容如下

    #!/bin/bash
    export MINIO_ACCESS_KEY=minio 
    export MINIO_SECRET_KEY=minio@123
    nohup /data/minio/minio server /data/minio/data --config-dir /data/minio/config --console-address :8001 --address :8000 >> /data/minio/minio.log 2>&1 &
    

    在minio安装目录下创建停止脚本 stop.sh, 脚本内容如下

    #!/bin/bash
    
    echo "Stopping minio"
    pid=`ps -ef | grep 'minio server' | grep -v grep | awk '{print $2}'`
    if [ -n "$pid" ]
    then
       kill -9 $pid
    fi
    echo "Stop Success!"
    
  3. 访问

    地址:http://ip:8001

    账号密码:minio / minio@123

### 一、MinIO概述 MinIO 是一种高性能的对象存储解决方案,兼容 Amazon S3 API。它设计用于处理海量非结构化数据,支持多种编程语言的客户端开发工具包 (SDK),其中包括 Java 环境下的 `minio-java` SDK[^1]。 --- ### 二、Java环境中的MinIO安装部署 #### 1. Docker方式部署MinIO服务端 为了快速启动 MinIO 文件服务器,推荐使用 Docker 进行部署。以下是具体的命令: ```bash docker run \ --name minio-service \ -p 9000:9000 \ -e "MINIO_ROOT_USER=minioadmin" \ -e "MINIO_ROOT_PASSWORD=miniosecret" \ -v /data:/data \ quay.io/minio/minio server /data --console-address ":9001" ``` 上述命令会创建一个名为 `minio-service` 的容器实例,并绑定本地端口 `9000` 到 MinIO 的对象存储接口上。同时设置管理员账户 (`minioadmin`) 和密码 (`miniosecret`),并挂载 `/data` 路径作为存储目录[^2]。 #### 2. 配置Nginx反向代理(可选) 如果希望增强安全性或者对外提供 HTTPS 访问,则可以配置 Nginx 反向代理以及 SSL/TLS 加密连接。具体步骤如下所示[^3]: - 编辑 Nginx 配置文件: ```nginx server { listen 443 ssl; server_name your-domain.com; ssl_certificate /etc/nginx/certs/your-cert.crt; ssl_certificate_key /etc/nginx/certs/your-key.key; location / { proxy_pass http://localhost:9000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } ``` 完成以上配置后重启 Nginx 即可通过 HTTPS 方式访问 MinIO 服务。 #### 3. 添加Maven依赖项至Java项目 要在 Java 应用程序中集成 MinIO 功能,需先引入官方提供的 `minio-java` SDK 。编辑项目的 pom.xml 文件,在 `<dependencies>` 中加入以下片段: ```xml <dependency> <groupId>io.minio</groupId> <artifactId>minio</artifactId> <version>8.5.7</version> <!-- 版本号可能随时间更新 --> </dependency> ``` 此操作完成后即可利用 Maven 构建工具自动下载所需库文件。 #### 4. 初始化MinIO客户端实例 下面展示了一个简单的例子来说明如何初始化 MinIO 客户端并与之交互: ```java import io.minio.MinioClient; import io.minio.errors.*; import java.io.IOException; public class MinioExample { public static void main(String[] args) throws IOException, InvalidKeyException, NoSuchAlgorithmException, InsufficientDataException, InternalException, InvalidArgumentException, XmlParserException, ErrorResponseException { try { // 创建 MinIO 客户端实例 MinioClient client = MinioClient.builder() .endpoint("http://localhost:9000") // 替换为实际的服务地址 .credentials("minioadmin", "miniosecret") // 使用正确的用户名和密码 .build(); boolean isExist = client.bucketExists(BucketExistsArgs.builder().bucket("my-bucket").build()); System.out.println("Bucket 'my-bucket' exists? : "+isExist); } catch(Exception e){ e.printStackTrace(); } } } ``` 该代码段展示了怎样建立到远程 MinIO 实例的安全链接,并验证指定名称空间是否存在。 --- ### 三、总结 通过本文描述的方法,开发者可以在 Java 开发环境下轻松实现对 MinIO 对象存储系统的接入和支持。这不仅限于基本功能如桶的存在检测,还包括更复杂的场景比如文件上传、删除、检索等操作均可以通过扩展上述逻辑达成目标。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值