在配置前需确保MinIO已正确安装,推荐手动下载二进制文件(灵活可控)或使用Snap包(简单快捷)两种方式:
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
sudo mv minio /usr/local/bin/
sudo apt update && sudo apt install snapd
sudo snap install minio --classic
安装完成后,可通过minio version命令验证是否安装成功。
MinIO需指定专用目录存储数据,建议选择非系统盘(如/data/minio):
sudo mkdir -p /data/minio
sudo chown -R $(whoami):$(whoami) /data/minio # 赋予当前用户所有权
若以minio用户运行(推荐),需将目录所有权转移给minio:
sudo useradd -r -s /sbin/nologin minio
sudo chown -R minio:minio /data/minio
默认情况下,MinIO使用minioadmin:minioadmin作为初始凭证,建议修改为自定义密钥:
minio admin user add your_access_key your_secret_key
注意:修改后需使用新密钥登录控制台,旧密钥将失效。
通过OpenSSL生成自签名证书(生产环境建议使用CA颁发的证书):
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/minio/minio.key -out /etc/minio/minio.crt
启动MinIO时启用HTTPS:
minio server --secure --certfile /etc/minio/minio.crt --keyfile /etc/minio/minio.key /data/minio
若需通过域名访问,需将证书绑定到域名(如minio.yourdomain.com)。
创建Systemd服务文件/etc/systemd/system/minio.service,内容如下:
[Unit]
Description=MinIO Server
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
[Service]
WorkingDirectory=/data/minio
User=minio
Group=minio
Environment="MINIO_ROOT_USER=your_access_key"
Environment="MINIO_ROOT_PASSWORD=your_secret_key"
ExecStart=/usr/local/bin/minio server --secure --certfile /etc/minio/minio.crt --keyfile /etc/minio/minio.key /data/minio
Restart=always
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
关键参数说明:
MINIO_ROOT_USER/MINIO_ROOT_PASSWORD:替换为自定义访问密钥;--secure:启用HTTPS;/data/minio:数据存储目录。加载服务配置并启动:
sudo systemctl daemon-reload
sudo systemctl start minio
sudo systemctl enable minio # 设置开机自启
检查服务状态:
sudo systemctl status minio
https://your_server_ip:9000(若配置了域名则替换为域名),使用自定义的ACCESS_KEY和SECRET_KEY登录。test.txt),验证数据是否正常存储。若需通过域名访问或隐藏默认端口,可配置Nginx反向代理:
sudo apt install nginx
/etc/nginx/sites-available/minio:server {
listen 80;
server_name minio.yourdomain.com; # 替换为你的域名
location / {
proxy_pass http://127.0.0.1:9000; # 转发到MinIO HTTPS端口
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;
}
}
sudo ln -s /etc/nginx/sites-available/minio /etc/nginx/sites-enabled/
sudo nginx -t # 测试配置语法
sudo systemctl restart nginx
此时可通过http://minio.yourdomain.com访问MinIO(需提前解析域名到服务器IP)。
9000(HTTP)或9001(HTTPS),可通过--console-address参数修改;/data/minio),避免数据丢失。