现在免费、开源的文件系统还真不少,比如:HDFS、GridFs、Ceph、FastDFS、MinIO等,我们公司最近做了一个文件上传系统,就是用的GridFs,但是相比之下,MinIO更受我的青睐,它是基于Go语言开源且兼容Amazon S3云存储服务API的高性能对象存储系统。
![](http://dingyue.ws.126.net/2020/1010/8bdb700dp00qhz7530030c000xo00lkm.png)
这里我们先在Linux中基于Docker来搭建一个简单的文件管理系统,
docker run -p 9000:9000 \
-e "MINIO_ACCESS_KEY=AKIAIOSFODNN7EXAMPLE" \
-e "MINIO_SECRET_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" \
minio/minio server /data
![](http://dingyue.ws.126.net/2020/1010/7bd3962ap00qhz753000kc000jl009pm.png)
执行该命令的前提是,该主机已经具备docker的环境,我们可以看到,程序已经运行起来了,现在我们就去访问9000端口的
![](http://dingyue.ws.126.net/2020/1010/19a30fb1p00qhz753000qc0017n00k3m.png)
这里输入我们启动时配置的密码登录即可
![](http://dingyue.ws.126.net/2020/1010/814c7f96p00qhz753000rc001dy00ham.png)
我们来体验一下它一些常用功能,先点击右下角的红色安装,新建一个bucket,然后,我上传一张图片到该bucket
![](http://dingyue.ws.126.net/2020/1010/0edf78c7p00qhz753000fc000lg00d7m.png)
![](http://dingyue.ws.126.net/2020/1010/9123c866p00qhz753000kc001b400dwm.png)
![](http://dingyue.ws.126.net/2020/1010/c987e006p00qhz753000wc0017u00btm.png)
在该图片后面会有4个按钮,分别是分享、预览、下载、删除
![](http://dingyue.ws.126.net/2020/1010/376807bcp00qhz753000oc0017d00aom.png)
![](http://dingyue.ws.126.net/2020/1010/9bcac7a0p00qhz753000vc000oz00jmm.png)
![](http://dingyue.ws.126.net/2020/1010/7fdb15d1p00qhz75300bbc0014o00n9m.png)
我们可以直接通过分享的链接来访问该图片
![](http://dingyue.ws.126.net/2020/1010/91e7e567p00qhz75300noc0011i00nrm.png)
我们还可以对图片进行搜索
![](http://dingyue.ws.126.net/2020/1010/a42a76e4p00qhz753000xc001em00hrm.png)
![](http://dingyue.ws.126.net/2020/1010/75e44515p00qhz753000kc0011r00bem.png)
大家看着会不会有点想起牛云呢?不过七牛云为我们提供了更多的图片处理API,如:裁剪、旋转等。但是我们可以借助一些开源插件来实现类似七牛云的图片API功能,这里推荐一个thumbor的开源智能图像服务,可以按需裁剪、调整大小和翻转图像。
![](http://dingyue.ws.126.net/2020/1010/57766dfep00qhz753002dc000q400ocm.png)
MinIO不仅支持Linux,还支持其他操作系统,如果是Windows,咱们可以执行下载exe可执行文件来执行,在cmd执行 minio.exe server D:\pic后,会给我们自动设置一个密码,如果所配置的文件路径不存在,会自动创建。
![](http://dingyue.ws.126.net/2020/1010/8d6ab7b5p00qhz753000gc000r000a8m.png)
![](http://dingyue.ws.126.net/2020/1010/f6b7d4d9p00qhz7530007c000cz0050m.png)
![](http://dingyue.ws.126.net/2020/1010/f9637f5ep00qhz7530016c001ec00qdm.png)
文件服务器安装好之后,当然是需要存储文件的,在这方便,MinIO为我们提供了多种语言的SDK,让我们整合起来更加的方便
![](http://dingyue.ws.126.net/2020/1010/ab839628p00qhz7530011c000wu00ggm.png)
那么,看到这里后,大家有没有爱了呢?有没有想要安装的冲动呢?
热门跟贴