linux中安装MinIO
- minio 用于文件上传处理的,也相当于一个服务器,启动运行后默认启动9000端口
- 官网地址 https://www.minio.org.cn/index.shtml
1. 准备
- 下载二级制文件
- 下载地址 https://www.minio.org.cn/download.shtml#/linux

2. 安装
- 创建数据和配置目录
# 创建安装目录, 将本地下载的minio二进制文件上传到该目录下
sudo mkdir -p /usr/local/minio
cd /usr/local/minio# 创建数据存储目录
sudo mkdir -p /minio/data# 创建配置目录
sudo mkdir -p /etc/minio# 设置安装目录权限
sudo chown -R minio:minio /usr/local/minio# 设置数据目录权限
sudo chown -R minio:minio /minio/data# 设置配置目录权限
sudo chown -R minio:minio /etc/minio# 确保目录有正确的读写权限
sudo chmod -R 755 /usr/local/minio
sudo chmod -R 755 /etc/minio
sudo chmod -R 775 /minio/data
- 创建 MinIO 服务文件
sudo vim /etc/systemd/system/minio.service
服务文件内容
[Unit]
Description=MinIO Object Storage
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/minio/minio[Service]
Type=notify
WorkingDirectory=/usr/local/minio# 服务运行的用户和组
User=root
Group=root# 加载环境变量
EnvironmentFile=/etc/default/minio# 替换现有的 ExecStart 行,确保正确引用变量
ExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"MINIO_VOLUMES 未在 /etc/default/minio 中设置\"; exit 1; fi"ExecStart=/usr/local/minio/minio server $MINIO_OPTS $MINIO_VOLUMES# 让 systemd 始终重启此服务
Restart=always# 指定此进程可以打开的最大文件描述符数量
LimitNOFILE=65536# 禁用超时逻辑,等待进程停止
TimeoutStopSec=infinity
SendSIGKILL=no[Install]
WantedBy=multi-user.target
- 创建环境配置文件
sudo vim /etc/default/minio
# MinIO 根用户凭据
# 生产环境请务必修改这些默认值
MINIO_ROOT_USER=minioadmin
MINIO_ROOT_PASSWORD=minioadmin# MinIO 存储卷路径
MINIO_VOLUMES="/minio/data"# MinIO 服务器选项
# --address : API 服务端口 (默认: 9000)
# --console-address : 控制台端口 (默认: 随机)
MINIO_OPTS="--address :9000 --console-address :9001"# 可选:域名配置(生产环境使用)
# MINIO_SERVER_URL="https://minio.your-domain.com"
# MINIO_BROWSER_REDIRECT_URL="https://console.your-domain.com"# 可选:区域设置
# MINIO_REGION=us-east-1# 可选:证书路径(如果使用 HTTPS)
# MINIO_CERTS_DIR=/etc/minio/certs
设置配置文件权限:
sudo chown minio:minio /etc/default/minio
sudo chmod 644 /etc/default/minio
- 启动 MinIO 服务
# 重新加载 systemd
sudo systemctl daemon-reload# 启用 MinIO 服务开机自启
sudo systemctl enable minio# 启动 MinIO 服务
sudo systemctl start minio# 检查服务状态
sudo systemctl status minio# 查看服务日志
sudo journalctl -u minio -f
3. 防火墙端口开启
sudo ufw allow 9000/tcp
sudo ufw allow 9001/tcp
sudo ufw reload
4. 访问 MinIO
安装完成后,可以通过以下方式访问:
MinIO API: http://your-server-ip:9000
MinIO 控制台: http://your-server-ip:9001
默认登录凭据:
用户名: minioadmin
密码: minioadmin
5.管理命令
# 启动服务
sudo systemctl start minio# 停止服务
sudo systemctl stop minio# 重启服务
sudo systemctl restart minio# 重新加载配置(修改环境变量后)
sudo systemctl reload minio# 查看服务状态
sudo systemctl status minio# 启用开机自启
sudo systemctl enable minio# 禁用开机自启
sudo systemctl disable minio
6. 问题
- 启动后如果报如下错误信息,时9000端口被默认占用了,需要把端口释放出来(我环境中是ngix里有配置9000端口导致占用了)
ob for minio.service failed because the control process exited with error code.
See "systemctl status minio.service" and "journalctl -xeu minio.service" for details.
运行 java -jar web-admin-1.0-SNAPSHOT.jar
报如下错
Field minioClient in com.sunlight.rent.admin.service.impl.FileServiceImpl required a bean of type ‘io.minio.MinioClient’ that could not be found.The injection point has the following annotations:
- @org.springframework.beans.factory.annotation.Autowired(required=true)
解决:
- 在yml配置文件里添加minio配置

