前言

在一个实际的项目中,文件存储是必不可少的。目前市场上有许多提供对象存储服务的厂商,比如七牛云、阿里云等等。但是这些存储服务往往是收费或者有存储空间限制的,或者有一些小伙伴会直接把上传的文件存储在服务器本地,虽然这种方式可行,但是还是有很多局限性,比如我们上传的文件不好管理,文件预览不好操作以及如果有多个服务器等等。

今天就介绍使用minio搭建自己的文件存储服务器,因为minio新版和旧版有一定的区别,所以今天介绍minio新版和旧版的搭建方式,大家可以根据自己的需求选择。

1.准备工作

  • 服务器一台

  • 安装了docker

  • SSl证书(如需要开启https访问)

2.旧版minio安装

(1)docker安装指定版本minio

运行命令:

docker pull minio/minio:RELEASE.2021-06-17T00-10-46Z

(2)使用docker运行minio

运行命令:

docker run -p 9000:9000 --name minio -di --restart=always \
  -e "MINIO_ROOT_USER=minio" \
  -e "MINIO_ROOT_PASSWORD=minio123456" \
  -v /usr/local/minio/data:/data \
  -v /usr/local/minio/config:/root/.minio \
  minio/minio:RELEASE.2021-06-17T00-10-46Z server /data

相关指令解释:

  • MINIO_ROOT_USER:设置用户名

  • MINIO_ROOT_PASSWORD:设置密码

  • /usr/local/minio/data:文件的存储地址

  • /usr/local/minio/config:minio的相关配置文件

【注意】这里使用的9000端口,需要在服务器的安全组中添加9000端口,不然无法访问。

运行成功后出现以下界面:

查看docker运行日志,运行命令:

docker logs 运行结果id

如果出现以上界面则代表minio运行成功,因为我使用了ssl证书,所以是https。

(3)浏览器访问

在浏览器输入地址:http://服务器ip:9000,出现登录页面即代表成功:

使用刚刚设置的登录密码进行登录,登录成功后页面如下:

这里我新建了一个名称navigation的桶,你可以简单理解问存数据的地方。

(4)上传文件到minio文件服务

第一种:

直接在浏览器上上传,这种方式很简单:

这里我上传了一张图片,但是这个时候我们还不能直接通过输入如下地址访问图片:

http://服务器ip:9000/桶名/文件名

我们需要设置访问规则:

点击Edit policy,更改至如下:

这个时候我们就可以这样访问图片了:

http://服务器ip:9000/navigation/1.jpg

(5)开启https访问

目前很多网站都开启了https,为了安全和统一原则,我们的minio服务也开启https访问。

1.获取SSL证书

得到如下两个文件:

  • public.crt

  • private.key

【注意】如果证书的名字或者后缀不是上面两个,可直接更改,比如pem后缀可直接更改为crt后缀。

2.将证书上传至服务器minio目录下

具体目录如下:

/usr/local/minio/config/certs

具体路径与刚刚运行minio有关,上传后的文件夹如下:

3.重启docker容器

查看docker运行的容器

docker ps

重启命令:

docker restart 容器id

查看日志:

docker logs 运行结果id

出现如下界面则代表我们可以使用https访问了:

3.新版minio安装

新版本的minio安装与旧版的差别不大,主要是运行命令和界面有一些差别:

(1)docker安装最新版minio

docker pull minio/minio 

(2)使用docker运行minio

docker run --name minio \
-p 9000:9000 \
-p 9090:9090\
-d --restart=always \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=admin123" \
-v /home/minio/data:/data \
-v /home/minio/config:/root/.minio \
minio/minio server /data \
--console-address '0.0.0.0:9090'

【注意】新版本的运行命令和旧版本的运行命令有一点不一样。

其他步骤基本与安装旧版本的一致了,只是操作界面可能不一样了:

新版本的界面:

最后补充:新版本开启https访问可能有无法登录的坑,目前笔者还没有找到一个好的解决办法,解决的了小伙伴请在评论区解答一下,十分感谢。