在 Ubuntu 上搭建 MinIO
MinIO 是一个比较常用的对象存储服务(OSS),本文主要简单的介绍下在 Ubuntu 上搭建 MinIO 服务,并提供公网访问。
安装
MinIO 支持多种安装方式,这里选择最简单的 Binary 方式安装
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
sudo mv minio /usr/local/bin/
运行
MINIO_ROOT_USER=用户名 MINIO_USER_PASSWORD=密码 nohup minio server /data/minio-data --console-address :9001 --address :9000 > ./minio.log 2>&1 &
/data/minio-data
是 MinIO 实际存放文件的位置,9001
是 console 的端口,9000
是 API Server 的端口。 console 如果不指定端口,每次运行会随机使用一个端口,不方便我们用 Nginx 代理。
代理
在机器上,使用 Nginx 代理 MinIO,增加如下配置
server {
listen 80;
server_name minio.wu.run;
location / {
proxy_pass http://127.0.0.1:9000;
}
}
server {
listen 80;
server_name console.minio.wu.run;
client_max_body_size 2048m;
location / {
proxy_pass http://127.0.0.1:9001;
}
}
域名解析
在云厂商配置 DNS 域名解析
这样就可以通过 http://console.minio.wu.run/ 域名访问 MinIO 控制台了。
注意事项
- 以上例子,是单机模式,不保证 HA。为了 HA,需要多节点部署
- 如果将 MinIO Bucket 的访问策略设为 Public,一定要删除
"s3:ListBucket"
,否则别人可以看到 Bucket 下所有文件名,并拿到所有文件。一般情况下,把 Bucket 设为 Private 即可