OSS服务现在是一项基本服务。许多云服务制造商提供此类服务,而且价格并不昂贵。Song GE自己的www.javaboy.org使用类似的服务。
但是,对于中小型公司,除了购买OSS服务外,您还可以自己设置专业文件服务器。如果您自己设置了特殊的文件服务器,则更专业的方法是FastDFS。Song GE还录制了视频帖子-VIDEO POSTING.ON B,感兴趣的朋友可以自己查看它。但是,FastDFS更加麻烦,非常容易犯错,因此对您的朋友有一点或阈值。
在上一篇文章中记录的一些项目视频中,如果文件上传,则基本保存在项目中。这种方法更加困难,但安全性不高。
因此,今天我将向所有人介绍一件好事,看看这工具带给我们的令人惊讶的是什么。
虚拟机镜等,并且对象文件可以是任意大小,从几个KB到最大5T。
Minio是一项非常轻巧的服务,可以简单地与其他应用程序结合使用,类似于Nodejs,Redis或MySQL。
简而言之,您可以使用Minio来构建对象存储服务,而Minio和Amazon的S3 Cloud Storage Service Service客户端的Java客户端则兼容。
Minio的功能:
没有胡说八道,假装有办法。
为了节省麻烦,让我们使用Docker安装它。如果您不熟悉Docker,则公共帐户背景回复Docker以获取Songge的Docker教程。
我们执行以下命令并安装Minio:
此启动命令配置了两个端口:Console-Address是由背景管理的Web端口;地址是API通信端口。上面的开始脚本是一个示例。项目成功启动后,网页上的访问端口为9000。如果我们通过Java代码上传文件,则通信端口为9001。
项目成功启动后,输入浏览器地址栏可以访问Minio的背面页面:
默认登录用户名和密码均为。
登录成功后,我们首先创建一个存储桶。将来,我们上传的文件将在存储桶中,如下所示::
创建成功后,我们还需要设置枪管读取权限,以确保在将来成功上传文件后可以读取文件。单击左上角的“设置”按钮以下设置,如下所示:
设置完成后,我们可以在此桶中上传资源,如下所示:
上传完成后,您可以看到刚刚上传的文件:
上传成功后,单击文件,然后单击右侧的共享按钮以弹出文件访问链接。由于我们已经设置了要读取的文件,因此我们可以无需有效执行此操作。图片刚刚上传,如下:
现在可以上传和访问该文件。它比FastDFS容易得多!
但是,先前的安装方法实际上是一个小问题,因为我们没有为Docker容器设置数据卷,因此,如果您不小心删除了Docker容器,则数据就消失了!
因此,我们需要设置数据量。
校正后的Docker脚本如下:
它主要使用数据卷映射函数添加,以将Minio数据和配置文件映射到主机,以便即使将来删除容器,数据仍然存在。
请注意,登录用户名和密码也在上面自定义。
根据上述命令,在重新创建容器后,我们还创建了一个枪管和上传文件。上传成功后,我们可以看到我们在本地相应文件夹中的相应文件夹中上传的文件,如下:
让我们看一下如何在Spring Boot中玩Minio。
首先,我们创建一个Spring Boot项目,并介绍Web依赖项如下:
成功创建项目后,让我们手动添加Minio的依赖项,如下:
在这里,我尝试使用最新版本,但是似乎有一些错误,但我没有深入研究。我更改了8.2.1的版本。此版本还可以。
接下来,让我们配置application.yaml并配置文件上传所需的基本信息:
这里的四个属性:
接下来,我们提供一个迷你杂质,以在此处接收四个属性,如下所示:
将相关配置注入application.yaml中的相关配置中。
接下来,我们需要提供一个小型选手。通过此客户端工具,您可以操作Minio,如下:
这无话可说。当您传递通信地址和用户名密码时,您可以构建一个迷你符号。
成功上传文件后,我们可以通过Minio或通过NGINX访问该文件,因此我们需要提供一个类来包装这两个地址:
让我们提供一个Minio文件上传工具:
它们都是常规的API呼叫,我不会一个人解释它。接下来,让我们上传界面:
好吧,你可以做到。
接下来,启动Spring Boot项目,然后调用此接口上传文件。上传成功后,控制台将打印以下信息:
这意味着文件上传成功。
如前所述,Minio可以与Nginx结合使用,因此让我们在此处匹配NGINX。
为了节省麻烦,nginx我还选择将其安装在码头容器中,但是当Minio较早安装时,我们已经进行了数据量映射,也就是说,上传到Minio的文件实际上存储在主机中,因此,现在我们必须为nginx.volume配置数据,让nginx将来在路径下查找文件。
NGINX安装说明如下:
这里有两个要点:
每个人都知道,当默认值,当我们访问NGINX时,NGINX显示我们的数据实际上在目录中。现在,该目录实际上等同于主机的目录,因此我不需要立即修改NGINX的配置。安装后使用Nginx。
好吧,让我们修改应用程序。yaml如下:如下:
更改后,再次上传文件,此时打印的文件的访问路径如下:
现在,我们还可以访问仅通过此NGINX路径上传的文件。
好吧,我今天将与我的朋友分享USIO,并与Nginx结合使用简单的文件服务器。有兴趣的朋友可以尝试。
公共帐户jiangnan在后台有一点降雨,可以回复Minio_demo,以获取本文的源代码下载链接。
原始:https://juejin.cn/post/7095703796856127502