Minio 安装部署详细步骤(Windows & Linux)

本文详细介绍了如何在Windows和Linux环境下安装Minio服务器,包括下载、启动、创建桶、修改密码、指定端口、防火墙设置以及在Docker中的部署步骤。

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

Window 安装

1、下载地址:https://min.io/download
在这里插入图片描述

2、打开 cmd 面板,进入 minio 都在目录执行以下命令

 # 后面是图片的存储路径
 # 启动命令
 .\minio.exe server D:\miniodata
 # 指定端口
 .\minio.exe server D:\miniodata --address ":8001" --console-address ":9001" 

在这里插入图片描述

访问地址:http://127.0.0.1:9000

3、创建桶,上传文件,点击文件可以进行下载或预览
在这里插入图片描述

4、修改密码,打开数据文件存放路径
在这里插入图片描述

打开 config.json 文件,找到 minio 默认的密码进行修改,重启服务即可完成

在这里插入图片描述

Linux 安装步骤

Minio 下载文件安装

1、下载地址

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

2、修改文件执行权限

chmod +x minio

3、启动,随机端口启动

./minio server /data/miniodata
# 或者指定密码执行
MINIO_ACCESS_KEY=myminioadmin MINIO_SECRET_KEY=myminioadmin ./minio server /data/miniodata
# 指定密码,配置文件地址,数据存放地址启动
MINIO_ACCESS_KEY=myminioadmin MINIO_SECRET_KEY=myminioadmin ./minio server --config-dir /config/minio/config /data/miniodata

在这里插入图片描述

注意:以上启动方式端口是随机的,需要开放随机端口才可以访问

4、指定端口启动

控制台监听端口是动态生成的,可以通过–console-address ":port"指定静态端口

./minio server --console-address ":9000" /data/miniodata

5、防火墙查看

# 查看防火墙状态1
systemctl status firewalld 或者 systemctl status firewalld.service
# 查看防火墙状态2
firewall-cmd --state
# 开启/关闭/重启防火墙
systemctl start/stop/restart firewalld

# firewall防火墙,查询端口是否开放
firewall-cmd --query-port=9000/tcp
# 开放9000端口
firewall-cmd --permanent --add-port=9000/tcp
# 移除端口
firewall-cmd --permanent --remove-port=9000/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
# 查看防火墙所有端口
firewall-cmd --zone=public --list-ports

6、后台启动,指定输出日志文件

nohup ./minio server /data/miniodata --config-dir /config/minio/config --console-address ":80" --address ":9000" > /data/miniodata/minio.log 2>&1 &

7、修改密码,执行完修改密码命令,在执行第6步

export MINIO_ACCESS_KEY=admin 
export MINIO_SECRET_KEY=admin123

补充说明

# 数据存放地址
/data/miniodata
# minio 配置放地址
--config-dir /config/minio/config
# 浏览器访问暴露端口
--console-address ":80"
# 内网访问地址端口
--address ":9000"
# 日志存放地址
/data/miniodata/minio.log

启动参数:nohup、&、 2>&1 解释说明

nohup java -jar demo.jar > /data/log/demo.out 2>&1 &
# nohup 不挂断的运行
# log/demo.out 2>&1  0 – stdin (standard input),1 – stdout (standard output),2 – stderr (standard error) ;2>&1 是将标准错误(2)重定向到标准输出(&1),标准输出(&1)再被重定向输入到 demo.out 文件中
# & 后台运行
Minio Docker 单机安装部署步骤

查询要下载的版本,这里选择的是第一个

docker search minio

在这里插入图片描述

启动minio服务

docker run -it -p 9000:9000 \
 -p 9001:9001 \
 --name minio \
 -d --restart=always \
 -e MINIO_ACCESS_KEY=admin \
 -e MINIO_SECRET_KEY=admin123456 \
 -v /etc/timezone:/etc/timezone 
 -v /etc/localtime:/etc/localtime 
 -v /data/minio/data:/data \
 -v /data/minio/config:/root/.minio \
  minio/minio server /data --console-address ":9000" --address ":9001"

修改密码指定重新执行命令即可

浏览器访问:http://ip:9000
在这里插入图片描述

### 一、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 对象存储系统的接入和支持。这不仅限于基本功能如桶的存在检测,还包括更复杂的场景比如文件上传、删除、检索等操作均可以通过扩展上述逻辑达成目标。 ---
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

师小师

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

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

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

打赏作者

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

抵扣说明:

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

余额充值