一、简介
MinIO 是一个高性能的对象存储系统,兼容 Amazon S3 API。它通常用于存储大规模非结构化数据,如图片、视频、日志文件等。MinIO 支持多种部署方式,包括单节点和多节点集群模式。
对于网站系统,若为降低成本投入,将文件存储服务和网站系统部署在同一台服务器中,访问量不大,基本不会有问题,但访问量逐渐升高,网站文件资源读取逐渐频繁,单机服务器可能难以承载较大的请求量,可能会出现网站打不开,甚至系统异常等问题。
解决方案:采用云存储服务,将访问很频繁的文件资源服务,由本地改成云厂商提供的文件存储服务,比如阿里云 OSS、七牛云、腾讯云、百度云等等,迁移之后,网站的访问压力会得到极大的释放,服务也会变得更加稳定。
但是,这些云存储服务大部分都是收费的,以阿里云为例,数据存储通常按照 0.12 元/GB/月的标准来收费,日积月累也是一笔巨款。
采用免费开源的 fastDFS 工具来作为文件存储服务器,虽然性能不错,但软件安装环境非常复杂,且没有完整的技术文档,大部分都是公司或者网友自己总结的文档,维护起来非常困难。
直到 MinIO应运而生,云存储服务工具便多一个新的可选项。
MinIO 是一款号称世界上速度最快的对象存储服务,专为大规模数据存储和分析而设计。支持在各种环境中部署,包括物理服务器、虚拟机、容器等,最关键的是它的技术文档非常完善,非常容易上手;同时,对个人用户是完全开源免费的
二、安装与启动
2.1.docker安装
docker run \
-p 9000:9000 \
-p 9001:9001 \
--name minio \
-d --restart=always \
-e "MINIO_ROOT_USER=minio" \
-e "MINIO_ROOT_PASSWORD=minio123" \
-v /minio/data:/data \
-v /minio/config:/root/.minio \
minio/minio server \
/data --console-address ":9001" --address ":9000"
2.2.通过浏览器访问MinIO服务控制台
访问 MinIO控制台:
http://你的ip:9001
MinIO使用监听的端口为 9001 端口,这个端口使用API与MinIO服务器进行通信和进行SDK调用,通过浏览器访问 9001 端口会自动跳转至MinIO控制台。
登录MinIO 控制台可以使用默认的 Root用户名/密码 登录: minio/ minio123。
就可以显示相关控制台的详细信息。
三、使用介绍
在对象存储服务里面,所有的文件都是以桶的形式来组织的。简单说,可以将桶看作是目录,这个目录下有很多的文件或者文件夹,这和其它云存储服务基本一致。
3.1 创建存储桶
所有的文件必须要存储到桶中,因此需要先创建存储桶。
若要修改存储桶信息,点击左侧的Buckets菜单,即可展示存储桶配置信息。
3.2 上传和下载文件
点击Object Browser菜单,可看到刚刚创建的存储桶public-bucket,点击进入,上传想要存储的文件。
若想下载文件或者预览文件,点击文件,右侧会弹出相关的操作按钮,点击相应的操作按钮即可。
3.3 设置文件公开访问
默认创建的存储桶,均为私有桶,无法被公开访问。
以 api 方式直接访问,会提示无权限:
<