Minio还没用起来吗
下面给出 MinIO 单节点(Linux)最简实施步骤(含二进制部署与 Systemd 托管),并附 Docker 与分布式要点。
一、环境准备(Linux)
1. 系统:CentOS 7+/Ubuntu 20.04+
2. 开放端口:9000(API)、9001(控制台)bash
# firewalld
sudo firewall-cmd --add-port=9000/tcp --permanent
sudo firewall-cmd --add-port=9001/tcp --permanent
sudo firewall-cmd --reload
3. 创建数据目录(示例)bash
sudo mkdir -p /data/minio
sudo chmod 755 /data/minio
二、二进制安装(推荐生产)
1. 下载二进制
bash
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
sudo mv minio /usr/local/bin/
验证: minio --version
2. 配置账号密码(永久环境变量)
bash
sudo vi /etc/profile.d/minio.sh
写入:
bash
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=Minio@2026 # ≥8位,强密码
生效:
bash
source /etc/profile.d/minio.sh
3. 启动测试
bash
minio server /data/minio --console-address ":9001"
看到日志: Console: http://127.0.0.1:9001 即成功。
4. Systemd 托管(开机自启)
bash
sudo vi /etc/systemd/system/minio.service
写入:
ini
[Unit]
Description=MinIO
After=network.target
[Service]
User=root
EnvironmentFile=/etc/profile.d/minio.sh
ExecStart=/usr/local/bin/minio server /data/minio --console-address ":9001"
Restart=always
[Install]
WantedBy=multi-user.target
启动并设置开机自启:
bash
sudo systemctl daemon-reload
sudo systemctl start minio
sudo systemctl enable minio
sudo systemctl status minio
三、Docker 快速部署(测试/开发)
bash
docker run -d \
--name minio \
-p 9000:9000 \
-p 9001:9001 \
-e MINIO_ROOT_USER=admin \
-e MINIO_ROOT_PASSWORD=Minio@2026 \
-v /data/minio:/data \
--restart unless-stopped \
minio/minio server /data --console-address ":9001"
四、控制台使用
1. 浏览器访问: http://服务器IP:9001
2. 登录:输入上面设置的 MINIO_ROOT_USER / MINIO_ROOT_PASSWORD
3. 创建桶(Bucket):- 左侧 Buckets → Create Bucket → 输入桶名(如 my-bucket )→ Create
4. 上传文件:进入桶 → Upload → 选择文件上传
五、分布式部署要点(生产高可用)
- 节点数:≥4台(推荐 4/8/12…)
- 每节点磁盘数:≥4块(JBOD,不做 RAID)
- 启动命令示例(4节点,每节点4盘):bash
minio server \
http://node1/data{1...4} \
http://node2/data{1...4} \
http://node3/data{1...4} \
http://node4/data{1...4} \
--console-address ":9001"
- 所有节点 MINIO_ROOT_USER / MINIO_ROOT_PASSWORD 必须一致
六、常用 SDK 连接示例(Python)
bash
pip install minio
python
from minio import Minio
client = Minio(
"服务器IP:9000",
access_key="admin",
secret_key="Minio@2026",
secure=False # HTTP 关闭,HTTPS 开启
)
# 上传文件
client.fput_object("my-bucket", "test.txt", "/path/to/test.txt")
七、安全建议
1. 密码复杂度:≥12位,大小写+数字+符号
2. 启用 HTTPS(生产必选)
3. 定期备份数据与配置
4. 限制控制台 IP 访问