minio下载地址,根据自己的服务器配置选择
https://dl.min.io/server/minio/release
单节点部署minio
mkdir -p /data/minio/data
上传文件到安装目录/data/minio并添加权限
cd /data/minio
chmod +x minio
编写启动脚本
#!/bin/bash
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=admin123
nohup /data/minio/minio server /data/minio/data --address "0.0.0.0:9999" --console-address "0.0.0.0:9000" >> ./minio.log &
MINIO_ROOT_USER与MINIO_ROOT_PASSWORD设置账户名密码
--address 指定API端口
--console-address 指定控制台端口
minio分布式搭建
每台服务器创建存储目录,并上传文件添加权限
#!/bin/bash
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=admin1234
export MINIO_BROWSER_REDIRECT_URL="http://test.yuming.com/minio"
nohup /data/minio/minio server \
--address "0.0.0.0:9999" --console-address "0.0.0.0:9000" \
http://192.168.0.1/data/minio/data \
http://192.168.0.2/data/minio/data \
http://192.168.0.3/data/minio/data >> /data/minio/minio.log &
MINIO_BROWSER_REDIRECT_URL指定控制台域名代理的二级目录
注意:添加这个参数以后无法ip+端口登陆,也无法在根下直接代理登陆,不配置nginx二级目录可以不用添加
nginx配置
#控制台端口
upstream minio {
server 192.168.0.1:9000;
server 192.168.0.2:9000;
server 192.168.0.3:9000;
}
#api端口
upstream api {
server 192.168.0.1:9999;
server 192.168.0.2:9999;
server 192.168.0.3:9999;
}
server {
listen 80;
listen 443;
server_name test.yuming.com;
index index.html;
root /;
location / {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location /api/ {
proxy_pass http://api/;
}
location /minio {
rewrite ^/minio/(.*) /$1 break;
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_set_header X-NginX-Proxy true;
real_ip_header X-Real-IP;
proxy_connect_timeout 300;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
chunked_transfer_encoding off;
proxy_pass http://minio;
}
访问http://test.yuming.com/minio/即可登陆控制台
创建桶
类型为公开
上传文件
访问http://test.yuming.com/aip/图片路径 可直接访问图片
单节点设置为系统服务
编写conf文件
#minio.conf文件内容
MINIO_ROOT_USER="admin"
MINIO_ROOT_PASSWORD="admin1234"
MINIO_VOLUMES="/data/minio/data"
MINIO_OPTS="--address 0.0.0.0:9999 --console-address '0.0.0.0:9000'"
编写启动文件
vim /usr/lib/systemd/system/minio.service
[Unit]
Description=minio
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
#minio文件具体位置
AssertFileIsExecutable=/data/minio/minio
[Service]
#conf文件位置
EnvironmentFile=/data/minio/minio.conf
ExecStart=/data/minio/minio server $MINIO_OPTS $MINIO_VOLUMES
Restart=always
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl start minio