在 Debian 上部署 MinIO 的完整配置步骤
一 准备与环境确认
二 安装方式
wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio_20250422221226.0.0_amd64.deb -O minio.deb
sudo dpkg -i minio.deb
minio --version
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
sudo mv minio /usr/local/bin/
minio --version
sudo apt update && sudo apt install -y docker.io
sudo systemctl start docker && sudo systemctl enable docker
docker run -d --name minio-server \
-p 9000:9000 -p 9001:9001 \
-e MINIO_ROOT_USER=admin \
-e MINIO_ROOT_PASSWORD=StrongPassw0rd! \
-v /data/minio:/data \
minio/minio server /data --console-address ":9001"
以上三种方式任选其一即可完成安装,二进制与 DEB 方式更适合生产长期运行。三 配置 Systemd 服务与环境变量
sudo useradd --system --no-create-home --shell /usr/sbin/nologin minio
sudo mkdir -p /data/minio
sudo chown minio:minio /data/minio
sudo mkdir -p /etc/default
sudo tee /etc/default/minio >/dev/null <<'EOF'
# 数据目录(必须存在且为空)
MINIO_VOLUMES="/data/minio"
# 监听地址:API 与控制台
MINIO_OPTS="--console-address :9001 --address :9000"
# 管理员账户(生产请使用强口令)
MINIO_ROOT_USER=admin
MINIO_ROOT_PASSWORD=StrongPassw0rd!
EOF
sudo tee /etc/systemd/system/minio.service >/dev/null <<'EOF'
[Unit]
Description=MinIO Object Storage
Documentation=https://minio.org.cn/docs/minio/linux/index.html
Wants=network-online.target
After=network-online.target
[Service]
Type=notify
EnvironmentFile=-/etc/default/minio
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
Restart=always
RestartSec=5
LimitNOFILE=65536
# 运行身份
User=minio
Group=minio
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now minio
sudo systemctl status minio
四 访问与安全加固
sudo ufw allow 9000,9001/tcp
sudo ufw reload
sudo apt install -y nginx
sudo tee /etc/nginx/conf.d/minio.conf >/dev/null <<'EOF'
server {
listen 80;
server_name oss.example.com;
client_max_body_size 0;
proxy_buffering off;
proxy_request_buffering off;
location / {
proxy_set_header Host $http_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;
proxy_http_version 1.1;
proxy_set_header Connection "";
chunked_transfer_encoding off;
proxy_pass http://127.0.0.1:9000;
}
}
server {
listen 443 ssl http2;
server_name oss.example.com;
ssl_certificate /etc/letsencrypt/live/oss.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/oss.example.com/privkey.pem;
client_max_body_size 0;
proxy_buffering off;
proxy_request_buffering off;
location / {
proxy_set_header Host $http_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;
proxy_http_version 1.1;
proxy_set_header Connection "";
chunked_transfer_encoding off;
proxy_pass http://127.0.0.1:9000;
}
}
EOF
sudo nginx -t && sudo systemctl reload nginx
sudo mkdir -p /etc/minio/certs
# 将你的证书与私钥放入 /etc/minio/certs(例如:public.crt / private.key)
sudo chown -R minio:minio /etc/minio/certs
# 启动时指定证书目录
# 注意:使用证书时,控制台与 API 的端口配置仍通过 --console-address/--address 指定
生产环境建议使用 反向代理 + 有效证书 或 TLS 直连,并限制管理端口访问来源。五 客户端 mc 与基础操作
wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
sudo mv mc /usr/local/bin/
mc alias set myminio http://127.0.0.1:9000 $MINIO_ROOT_USER $MINIO_ROOT_PASSWORD
mc ls myminio
mc mb myminio/mybucket
mc cp /path/to/file myminio/mybucket/
sudo systemctl status miniosudo journalctl -u minio -fsudo systemctl restart miniosystemctl restart minio)。