现在免费、开源的文件系统还真不少,比如:HDFS、GridFs、Ceph、FastDFS、MinIO等,我们公司最近做了一个文件上传系统,就是用的GridFs,但是相比之下,MinIO更受我的青睐,它是基于Go语言开源且兼容Amazon S3云存储服务API的高性能对象存储系统。

打开网易新闻 查看精彩图片

这里我们先在Linux中基于Docker来搭建一个简单的文件管理系统,

docker run -p 9000:9000 \
-e "MINIO_ACCESS_KEY=AKIAIOSFODNN7EXAMPLE" \
-e "MINIO_SECRET_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" \
minio/minio server /data

打开网易新闻 查看精彩图片

执行该命令的前提是,该主机已经具备docker的环境,我们可以看到,程序已经运行起来了,现在我们就去访问9000端口的

打开网易新闻 查看精彩图片

这里输入我们启动时配置的密码登录即可

打开网易新闻 查看精彩图片

我们来体验一下它一些常用功能,先点击右下角的红色安装,新建一个bucket,然后,我上传一张图片到该bucket

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

在该图片后面会有4个按钮,分别是分享、预览、下载、删除

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

我们可以直接通过分享的链接来访问该图片

打开网易新闻 查看精彩图片

我们还可以对图片进行搜索

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

大家看着会不会有点想起牛云呢?不过七牛云为我们提供了更多的图片处理API,如:裁剪、旋转等。但是我们可以借助一些开源插件来实现类似七牛云的图片API功能,这里推荐一个thumbor的开源智能图像服务,可以按需裁剪、调整大小和翻转图像。

打开网易新闻 查看精彩图片

MinIO不仅支持Linux,还支持其他操作系统,如果是Windows,咱们可以执行下载exe可执行文件来执行,在cmd执行 minio.exe server D:\pic后,会给我们自动设置一个密码,如果所配置的文件路径不存在,会自动创建。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

文件服务器安装好之后,当然是需要存储文件的,在这方便,MinIO为我们提供了多种语言的SDK,让我们整合起来更加的方便

打开网易新闻 查看精彩图片

那么,看到这里后,大家有没有爱了呢?有没有想要安装的冲动呢?