Linux本地MinIO存储服务远程调用上传文件

在这里插入图片描述
🔥博客主页 小羊失眠啦.
🎥系列专栏《C语言》 《数据结构》 《Linux》《Cpolar》
❤️感谢大家点赞👍收藏⭐评论✍️


在这里插入图片描述
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。

文章目录

    • 前言
    • 1. 创建Buckets和Access Keys
    • 2. Linux 安装Cpolar
    • 3. 创建连接MinIO服务公网地址
    • 4. 远程调用MinIO服务
    • 小结
    • 5. 固定连接TCP公网地址
    • 6. 固定地址连接测试

前言

MinIO是一款高性能、分布式的对象存储系统,它可以100%的运行在标准硬件上,即X86等低成本机器也能够很好的运行MinIO。它的优点包括高性能、高可用性、易于部署和管理、支持多租户等。

Cpolar内网穿透提供了更高的安全性和隐私保护,通过使用加密通信通道,Cpolar技术可以确保数据传输的安全性,这为用户和团队提供了更可靠的保护,使他们能够放心地处理和存储敏感的工作内容。

下面介绍本地MinIO 存储服务通过Java程序结合Cpolar内网穿透进行远程连接,文件上传,如需安装MinIO,请参考这个教程:Docker 安装MinIO教程

1. 创建Buckets和Access Keys

打开minio管理界面,点击buckets界面,创建一个buckets,buckets 概念翻译过来是桶的意思,创建一个桶,把文件放入这个桶里面进行分组管理.

image-20231121132904680

输入buckets名称,点击创建

image-20231121133303436

创建好buckets后,还需要创建一个连接时候的秘钥,打开Access Keys界面,点击创建access key

image-20231121135509291

点击创建后,会生成access key 和secret key ,继续点击create创建

image-20231121140142373

然后可以看到提示这两个需要记住,连接的时候需要用到(可以复制出来),然后关闭窗口即可,创建完成这两个后,接下来安装cpolar工具,通过cpolar生成的公网地址,我们很容易实现远程连接

image-20231121140203888

2. Linux 安装Cpolar

上面创建连接需要的参数后,下面我们在Linux安装cpolar内网穿透工具,通过cpolar 转发本地端口映射的公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器.下面是安装cpolar步骤

cpolar官网地址: https://www.cpolar.com

  • 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 向系统添加服务
sudo systemctl enable cpolar
  • 启动cpolar服务
sudo systemctl start cpolar

cpolar安装成功后,在外部浏览器上访问Linux 的9200端口即:【http://局域网ip:9200】,使用cpolar账号登录,登录后即可看到cpolar web 配置界面,结下来在web 管理界面配置即可

image-20230831171159175

3. 创建连接MinIO服务公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,注意不要与已有的隧道名称重复
  • 协议:tcp
  • 本地地址:9000 (本地默认端口)
  • 域名类型:临时随机TCP端口
  • 地区:选择China VIP

点击创建

image-20231121150737537

然后打开左侧在线隧道列表,查看刚刚创建隧道后生成的tcp地址,这个地址就是公网连接地址,我们可以在任意程序上使用该地址进行连接,下面进行远程连接上传文件测试

image-20231121150838314

4. 远程调用MinIO服务

根据官方demo,以Java 为例,导入相关包,第一个是minio包,第二个是为了防止提示okhttp版本异常,所以也导入进去

 	<!--minio 对象存储包--><dependency><groupId>io.minio</groupId><artifactId>minio</artifactId><version>8.5.7</version></dependency><dependency><groupId>com.squareup.okhttp3</groupId><artifactId>okhttp</artifactId><version>4.10.0</version></dependency>

然后使用Cpolar 公网地址进行连接,设置创建的公网地址和对应的端口,再设置accessKey和secretKey,指定bucket,填写需要上传文件的路径,运行,无报错表示成功

image-20231121152850162

运行完成后,打开minio管理界面,进入Object Browser,然后点击helloworld,我们创建的bucket,即可看到上传的文件,这样就表示成功了,当然,这边测试,地址是写在内部,如生产环境,建议将地址进行外部配置,有助于方便后续修改,具体更多操作方式,可以参考官方文档

image-20231121153013328

小结

为了更好地演示,我们在前述过程中使用了Cpolar生成的隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

我一般会使用固定TCP域名,原因是我希望将地址发送给同事或客户时,它是一个固定、易记的公网地址,这样更显正式,便于流交协作。

5. 固定连接TCP公网地址

要注意的是,以上步骤使用的是随机临时tcp端口地址,所生成的公网地址为随机临时地址,该公网地址24小时内会随机变化。我们接下来为其配置固定的TCP端口地址,该地址不会变化,设置后将无需每天重复修改地址。

配置固定tcp端口地址需要将cpolar升级到专业版套餐或以上。

保留一个固定tcp地址,登录cpolar官网,点击左侧的预留,找到保留的tcp地址,我们来为我的世界保留一个固定tcp地址:

  • 地区:选择China
  • 描述:即备注,可自定义

点击保留

image-20231121153818870

地址保留成功后,系统会生成相应的固定公网地址,将其复制下来

image-20231121153849228

打开cpolar web ui管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到我们上面创建的TCP隧道,点击右侧的编辑

image-20231121153917758

修改隧道信息,将保留成功的固定tcp地址配置到隧道中

  • 端口类型:修改为固定tcp端口
  • 预留的tcp地址:填写官网保留成功的地址,

点击更新

image-20231121153943568

隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,可以看到公网地址已经更新成为了固定TCP地址。

image-20231121154007482

6. 固定地址连接测试

固定好了地址后,程序中修改成我们固定的TCP地址进行连接,当然,这边测试,地址是写在内部,如生产环境,建议将地址进行外部配置,有助于方便后续修改

image-20231121154606714

运行后,等待上传完成,然后再次打开我们管理界面,可以看到文件上传成功,这样一个固定公网地址就设置好了.

image-20231121154652442

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/210731.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论文阅读:MedSegDiff: Medical Image Segmentation with Diffusion Probabilistic Model

论文标题&#xff1a; MedSegDiff: Medical Image Segmentation with Diffusion Probabilistic Model 翻译&#xff1a; MedSegDiff&#xff1a;基于扩散概率模型的医学图像分割 名词解释&#xff1a; 高频分量&#xff08;高频信号&#xff09;对应着图像变化剧烈的部分&…

数字乡村:科技赋能农村产业升级

数字乡村&#xff1a;科技赋能农村产业升级 数字乡村是指通过信息技术和数字化手段&#xff0c;推动农业现代化、农村经济发展和农民增收的一种新模式。近年来&#xff0c;随着互联网技术的飞速发展&#xff0c;数字乡村开始在全国范围内迅速兴起&#xff0c;为乡村经济注入了新…

关于自学\跳槽\转行做网络安全行业的一些建议

很好&#xff0c;如果你是被题目吸引过来的&#xff0c;那请看完再走&#xff0c;还是有的~ 为什么写这篇文章 如何自学入行&#xff1f;如何小白跳槽&#xff0c;年纪大了如何转行等类似问题 &#xff0c;发现很多人都有这样的困惑。下面的文字其实是我以前的一个回答&#…

界面组件Telerik UI for WinForms中文教程 - 创建明暗模式的桌面应用

黑暗模式现在在很多应用程序中都挺常见的&#xff0c;但如何在桌面应用程序中实现它呢&#xff1f;这很简单&#xff0c;本文将为大家介绍如何使用一个类和命令行调用来实现&#xff01; Telerik UI for WinForms拥有适用Windows Forms的110多个令人惊叹的UI控件。所有的UI fo…

C++算法入门练习——相同的二叉查找树

将第一组n​个互不相同的正整数先后插入到一棵空的二叉查找树中&#xff0c;得到二叉查找树T1​&#xff1b;再将第二组n个互不相同的正整数先后插入到一棵空的二叉查找树中&#xff0c;得到二叉查找树T2​。判断T1​和T2​​是否是同一棵二叉查找树。 二叉查找(搜索)树定义&am…

GPRS电表和4G电表有哪些区别?

随着科技的不断进步&#xff0c;通信技术在智能电网中的应用越来越广泛。其中&#xff0c;GPRS电表和4G电表作为两种常见的远程智能抄表方案&#xff0c;为广大用户带来了便捷的用电管理体验。然而&#xff0c;这两种电表在技术特点、应用场景等方面存在一定差异。下面&#xf…

用rs-convert.exe提取d415拍摄的bag文件中的图片

首先给出intel官方说明&#xff0c;如图1. 使用过程&#xff1a;1.找到rs-convert.exe&#xff0c;一般都是在C:\Program Files (x86)\Intel RealSense SDK 2.0\tools。 2.打开文件夹后输入cmd&#xff0c;如图2&#xff0c;就会弹出命令窗口。 3.在命令窗口输入。 rs-conve…

Python入门教程之条件语句与运算符优先级详解

文章目录 Python 条件语句Python运算符优先级关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战案例③Python小游戏源码五、面试资料六、Python兼职渠道 Python 条件语句 …

操作系统实验一:进程和线程

文章目录 实验内容一、进程的创建1、编辑源程序2、编辑结果3、编译和运行程序4、解释运行结果 二、进程共享1、运行2、解释运行结果 三、进程终止1、运行2、解释运行结果 四、进程同步1、运行2、解释运行结果 五、Linux中子进程映像的重新装入1、运行2、解释运行结果 六、线程1…

baksmali使用

帮助文档&#xff0c;查看版本 baksmali可以用来反编dex文件 查看版本 反编译apk 可以在当前目录下面得到一个out目录 指定输出文件夹名称 反编译dex 反编译dex文件&#xff0c;得到汇编代码 baksmali du /home/kali/Desktop/classes.dex >out.txt

python爬虫中 HTTP 到 HTTPS 的自动转换

前言 在当今互联网世界中&#xff0c;随着网络安全的重要性日益增加&#xff0c;越来越多的网站采用了 HTTPS 协议来保护用户数据的安全。然而&#xff0c;许多网站仍然支持 HTTP 协议&#xff0c;这就给我们的网络爬虫项目带来了一些挑战。为了应对这种情况&#xff0c;我们需…

MySQL-01-MySQL基础架构

1-MySQL逻辑结构 如果能在头脑中构建一幅MySQL各组件之间如何协同工作的架构图&#xff0c;有助于深入理解MySQL服务器。下图展示了MySQL的逻辑架构图。 MySQL逻辑架构整体分为三层&#xff0c;最上层为客户端层&#xff0c;并非MySQL所独有&#xff0c;诸如&#xff1a;连接处…