使用minio搭建自己的文件存储服务(新版和旧版)

简介: 前言在一个实际的项目中,文件存储是必不可少的。目前市场上有许多提供对象存储服务的厂商,比如七牛云、阿里云等等。但是这些存储服务往往是收费或者有存储空间限制的,或者有一些小伙伴会直接把上传的文件存储在服务器本地,虽然这种方式可行,但是还是有很多局限性,比如我们上传的文件不好管理,文件预览不好操作以及如果有多个服务器等等。今天就介绍使用minio搭建自己的文件存储服务器,因为minio新版和旧版有一定的区别,所以今天介绍minio新版和旧版的搭建方式,大家可以根据自己的需求选择。

1.准备工作


  • 服务器一台
  • 安装了docker
  • SSl证书(如需要开启https访问)



2.旧版minio安装


(1)docker安装指定版本minio

运行命令:

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

21.png


(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端口,不然无法访问。

运行成功后出现以下界面22.png

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

docker logs 运行结果id

1.jpg


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


(3)浏览器访问

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

5.png


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


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


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

第一种:

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


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

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


我们需要设置访问规则:8.png

点击Edit policy,更改至如下:9.png


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

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有关,上传后的文件夹如下:10.png

3.重启docker容器


查看docker运行的容器

docker ps


重启命令:

docker restart 容器id


查看日志:

docker logs 运行结果id


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

11.png


3.新版minio安装

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


(1)docker安装最新版minio

docker pull minio/minio


12.png


(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'


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


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

新版本的界面:


13.png14.png


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



小编最新开源项目:

[小猪导航

smallpig.site/#/](link.zhihu.com/?target=htt…)


技术栈:

  • 前端:Vue2.x + Elemenu-ui + scss
  • 后端:Express + Node.Js
  • 数据库:MongoDB
  • 数据存储服务:minio
相关文章
|
7月前
|
存储 开发框架 安全
SpringBoot开发符合S3协议的文件存储服务
公司最近的业务大量涉及安可项目,要求避免使用第三方组件,原有开发框架支持本地文件存储/Minio/各类云存储,现在要求文件独立存储且文件服务需要自研,经调研评估后决定基于SpringBoot开发文件存储服务,使用s3协议标准,这样可以直接使用aws-sdk接入无需再开发客户端,且安全安全性方面可以得到足够的保证
125 0
SpringBoot开发符合S3协议的文件存储服务
|
7月前
|
存储 开发框架 Java
SpringBoot整合Minio文件存储
公司的开发框架集成了附件本地存储,阿里云,华为云等,现项目有要求附件存储与应用部署环境不能是同一台服务器,也不能使用云存储,经过技术选型后决定框架整合minio,将minio部署在另一台服务器开通外网端口即可解决问题
163 1
SpringBoot整合Minio文件存储
|
存储 缓存 固态存储
基于 Merkle DAG 的文件存储服务 P3 概念验证
基于 Merkle DAG 的文件存储服务 P3 概念验证MultihashProvider:提供统一的接口用于计算哈希并以 Multihash 格式返回 StorageClient:面向存储系统实现的通用存储接口,该接口只关心如何存储和读取 Protobuf 对象 StorageLayer:面向用户的存储接口,该接口响应用户请求,并使用 StorageClient 来存储或读取 Protobuf 对象以完成用户请求
128 0
|
存储 Cloud Native Java
全栈开发之MinIO分布式文件存储集群
全栈开发之MinIO分布式文件存储集群
851 0
全栈开发之MinIO分布式文件存储集群
|
存储 数据可视化 Java
SpringBoot整合Minio 项目中使用自己文件存储服务器!!!
SpringBoot整合Minio 项目中使用自己文件存储服务器!!!
513 0
SpringBoot整合Minio 项目中使用自己文件存储服务器!!!
|
文件存储
文件存储和管理服务
本文研究全球及中国市场文件存储和管理服务现状及未来发展趋势,侧重分析全球及中国市场的主要企业,同时对比北美、欧洲、中国、日本、东南亚和印度等地区的现状及未来发展趋势
|
存储 弹性计算 Linux
企业级客户使用阿里云文件存储NAS SMB配置Home Directory服务指南
阿里云文件存储服务提供SMB/NFS/CIFS等多种文件存储协议,单文件系统可以存储海量数据,方便企业级客户在多个用户之间进行文件共享和协同合作。其中SMB协议是微软生态默认的文件共享协议,经过几十年的长期积累,具备广大的用户群,能够支持Windows、MacOS、Linux等多种客户端。阿里云NAS SMB文件存储通过支持AD域服务,可以对一个企业不同部门的不同员工创建不同的用户身份,结合ACL权限控制功能,达到企业有序可控地共享整个文件系统。
560 0
企业级客户使用阿里云文件存储NAS SMB配置Home Directory服务指南
|
存储 Cloud Native 数据处理
使用阿里云容器服务 ACK 和文件存储 NAS 构建现代化企业应用
大规模构建容器化应用程序需要高可靠、弹性、共享且支持高性能数据处理的数据存储解决方案。通过迁移到公共云,企业可以获得更高的生产效率和更低的成本。阿里云文件存储可以为现代化应用提供强健的数据稳定性,可靠性,高性能和在线扩展能力。
2390 0
使用阿里云容器服务 ACK 和文件存储 NAS 构建现代化企业应用
|
存储 运维 网络协议
阿里云SMB协议文件存储服务支持基于AD域的用户身份认证及权限访问控制介绍
在本文中,我们首先简单介绍文件系统的用户认证和访问权限控制的概念,然后介绍阿里云SMB协议文件存储服务支持基于AD域系统的用户身份认证及访问权限控制的设计实现。
3704 0
阿里云SMB协议文件存储服务支持基于AD域的用户身份认证及权限访问控制介绍
|
存储 弹性计算 文件存储
阿里云文件存储SMB协议服务及其申请和使用指南
本文简单描述了SMB文件存储访问协议以及阿里云SMB协议公测功能,并简单介绍了该服务的使用场景,以及公测申请和使用流程。
3562 0

热门文章

最新文章