介绍和原理
业内较为主流的开源存储框架MinIO、Ceph、SeaweedFS, 在github上MinIO的star是最多的,远超其它框架,大众的选择没错的
根据minio官方介绍,可以应用于下列场景
MinIO完全兼容S3标准接口,客户端和服务端之间通过http/https进行通信。MinIO提供客户端mc(MinIO Client)以支持UNIX命令,同时支持多语言的客户端SDK。
S3是啥?
S3是Simple Storage Service的缩写,即简单存储服务。亚马逊的名词缩写也都遵循这个习惯,例如Elastic Compute Cloud缩写为EC2等等。
docker方式安装说明
特别说明:通过命令行方式安装使用
mkdir /home/minio-data
docker run -d --name minio -p 9000:9000 -v /home/minio-data:/data minio/minio server /data
docker logs -f minio # 可以看到默认的'minioadmin:minioadmin’
附: docker-compose样例
minio:
image: minio/minio:RELEASE.2021-05-22T02-34-39Z
volumes:
- ./back/:/data
ports:
- "8039:9000"
environment:
MINIO_ROOT_USER: admin
MINIO_ROOT_PASSWORD: mypasswd
command: server /data
通过nginx作为代理
minio构建的服务进行访问,以/minio为前缀的,前端代码里是绝对路径,用nginx做代理时,只支持/minio/
这个路径
location /minio/ {
proxy_pass http://10.17.157.168:8039/minio/; #
client_max_body_size 500m; #
}
或者
location /minio {
proxy_pass http://minio:9000;
client_max_body_size 500m; #
}
注意要修改client_max_body_size的值,否则会出现413 Request Entity Too Large错误
参考
- 基于 MinIO 对象存储框架的短视频点播平台设计
- 对象存储服务分析数据:Amazon Simple Storage Service (S3)最火
- 4 Open Source Object Storage Platforms for 2021
- 断点续传方案:原理和想法可以的,部署太麻烦了:本想部署的,太麻烦,而且后期不好维护,最后通过修改client_max_body_size参数凑合用