使用Ubuntu快速部署MinIO对象存储

article/2025/6/17 15:26:48

想拥有自己的私有云存储,安全可靠又高效?MinIO是你的理想选择!这篇文章将手把手教你如何在Ubuntu 22.04服务器上部署MinIO,并使用Nginx反向代理和Let’s Encrypt证书进行安全加固。 即使你是新手,也能轻松完成!

Minio 简介

MinIO 是一个高性能、开源的对象存储服务器,兼容 Amazon S3 协议。这意味着你可以使用与 Amazon S3 相同的工具和应用程序来与 MinIO 进行交互。它设计用于在本地或云端存储非结构化数据,例如:

  • 照片和视频: 轻松存储和管理大量图像和视频文件。
  • 备份和归档: 安全地备份重要数据并进行长期归档。
  • 日志文件: 集中存储和分析应用程序日志。
  • 容器镜像: 存储和管理 Docker 镜像和其他容器化应用程序。
  • 机器学习数据: 存储和访问用于机器学习模型训练的大规模数据集。

MinIO 的主要优势:

  • 高性能: MinIO 针对高吞吐量和低延迟进行了优化,能够处理大量的并发请求。
  • 可扩展性: 可以轻松地扩展以满足不断增长的存储需求,无论是横向扩展(添加更多服务器)还是纵向扩展(升级单个服务器)。
  • 简单易用: 提供简单易懂的 API 和命令行工具,方便快速上手。
  • 开源免费: MinIO 是一个完全开源的项目,你可以免费使用和修改其代码。
  • 兼容性: 与 Amazon S3 兼容,这意味着你可以无缝地将现有的 S3 应用程序迁移到 MinIO。
  • 安全性: 提供多种安全功能,包括访问控制、加密和审计日志,以保护你的数据安全。
  • 灵活部署: 可以在各种环境中部署,包括本地服务器、云端和边缘计算环境。

MinIO 的适用场景:

  • 个人云存储: 构建你自己的私有云存储,安全地存储你的个人文件。
  • 企业私有云: 替换昂贵的商业云存储解决方案,降低成本并提高安全性。
  • 物联网 (IoT) 应用: 存储来自各种物联网设备的数据。
  • 备份和灾难恢复: 构建可靠的备份和灾难恢复系统。
  • DevOps 和 CI/CD: 在 DevOps 流程中使用 MinIO 作为存储仓库。

总而言之,MinIO 是一款功能强大、灵活易用且高性能的对象存储解决方案,适用于各种规模的组织和个人。 它提供了一种经济高效且安全可靠的方式来存储和管理非结构化数据。

准备工作

  • 准备一台云服务器

若尚未拥有服务器,可前往 雨云官网 https://rainyun.ivwv.site 进行注册,新用户有专属优惠。

开始安装以及配置Minio

MinIO是一个开源的对象存储服务器,兼容Amazon S3,性能卓越,适合存储非结构化数据,例如照片、视频、日志文件、备份和容器镜像等。

1:更新系统

首先更新你的系统包:

sudo apt update
sudo apt upgrade -y

2:下载和安装MinIO

从MinIO官网下载最新的稳定版本二进制文件:

wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
sudo mv minio /usr/local/bin/

3:配置MinIO

  1. 创建MinIO用户: 出于安全考虑,建议以非root用户运行MinIO。
sudo useradd -r minio-user -s /sbin/nologin
  1. 创建目录: 创建MinIO数据和配置文件目录:
sudo mkdir /usr/local/share/minio
sudo mkdir /etc/minio
sudo chown -R minio-user:minio-user /usr/local/share/minio
sudo chown -R minio-user:minio-user /etc/minio
  1. 设置环境变量: 创建一个文件来存储MinIO环境变量:
sudo nano /etc/default/minio

将以下内容添加到文件中,用你自己的访问密钥和密钥替换YOUR_ACCESS_KEYYOUR_SECRET_KEY

MINIO_VOLUMES="/usr/local/share/minio/"
MINIO_OPTS="--address :9000 --console-address :9090"
MINIO_ACCESS_KEY="YOUR_ACCESS_KEY"
MINIO_SECRET_KEY="YOUR_SECRET_KEY"
  • 9000: MinIO服务端口,即外部访问端口。
  • 9090: MinIO控制台端口,即内部访问端口。
  • YOUR_ACCESS_KEYYOUR_SECRET_KEY: 你的MinIO访问密钥和密钥。
  • /usr/local/share/minio/: MinIO数据目录。
  1. 创建systemd服务文件: 创建一个systemd服务文件来管理MinIO服务:
sudo nano /etc/systemd/system/minio.service

添加以下内容:

[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target[Service]
User=minio-user
Group=minio-user
EnvironmentFile=/etc/default/minio
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
Restart=always
LimitNOFILE=65536[Install]
WantedBy=multi-user.target
  1. 启动MinIO:
sudo systemctl daemon-reload
sudo systemctl start minio
sudo systemctl enable minio

4:配置防火墙

如果启用了防火墙,需要允许MinIO默认端口 (9000,9090) 的流量:

sudo ufw allow 9000
sudo ufw allow 9090

5:安装和配置Nginx反向代理

  1. 安装Nginx:
sudo apt install nginx -y
  1. 配置Nginx: 创建一个新的Nginx服务器块:
sudo nano /etc/nginx/sites-available/minio.example.com

添加以下配置,将minio.example.com替换为你自己的域名:

server {listen 80;server_name minio.example.com;location / {proxy_pass http://127.0.0.1:9000;  # 替换成你的MinIO实际端口proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;}}
  1. 启用Nginx配置并测试:
sudo ln -s /etc/nginx/sites-available/minio.example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

6:使用Certbot获取SSL证书

  1. 安装Certbot:
sudo apt install certbot python3-certbot-nginx -y
  1. 获取SSL证书:
sudo certbot --nginx -d minio.example.com

按照提示完成设置。
完成这个步骤后,你应该能在浏览器中访问 https://minio.example.com了。
但是注意 https://minio.example.com 是公共访问链接的域名,首先你得在 9090 端口上登录并创建存储桶等一系列操作,下面的内容会讲到。

7:访问MinIO Web界面

在浏览器中访问 http://you_server_ip:9090,使用你在/etc/default/minio文件中设置的凭据登录。

image-20241105150857206

使用MinIO Web控制台

本节将指导你如何使用MinIO Web控制台创建存储桶、设置公开权限以及上传和访问文件。

创建存储桶

登录 MinIO Web 界面 (http://your_server_ip:9090)。界面如下:
image-20241105151509707

点击 “Buckets”,然后点击 “Create a Bucket”。

image-20241105151551095

输入存储桶名称,然后点击 “Create Bucket”。
image-20241105151725448

创建完成后,你将在存储桶列表中看到新创建的存储桶:
image-20241105151906743

设置公共访问权限

为了使存储桶中的文件可以公开访问,需要进行以下设置:

  • 进入新创建的存储桶。
  • 点击桶策略
  • 将 “Access Policy” 设置为 “Public”。
    image-20241105152030074

上传和访问文件

进入存储桶的文件列表页面。
image-20241105152304761

点击 “Upload”,然后选择 “Upload File” 上传文件。

image-20241105152411268

上传完成后,点击已上传的文件,复制文件路径。

image-20241105154110173

例如,复制的路径为 public/wallhaven-m3ppwy.jpg

使用以下方式访问文件:将复制的路径添加到配置的域名或IP地址和端口号之后。

# 通过域名访问 (推荐使用HTTPS)
https://minio.example.com/public/wallhaven-m3ppwy.jpg# 通过IP地址和端口号访问
http://your_server_ip:9000/public/wallhaven-m3ppwy.jpg

相关资料

  • MinIO文档: https://docs.min.io/
  • MinIO GitHub仓库: https://github.com/minio/minio

相关链接
我的博客:https://blog.ivwv.site
雨云官网:https://rainyun.ivwv.site


http://www.hkcw.cn/article/LuVwthNlgb.shtml

相关文章

ubuntu中使用ollama部署本地deepseek

ubuntu中使用ollama部署本地deepseek 一、安装Docker 1、先卸载旧版,如果没有的话,就不用执行了,直接第二步。 apt-get remove docker docker-engine docker.io containerd runc 2、在终端输入 apt update apt-get install ca-certifica…

Ubuntu 24.04.2 LTS 桌面版系统安装、分区、配置全记录

引言 记录了一次完整的系统安装与环境配置过程,包括启动盘制作、安装引导、镜像源替换、中文输入法配置、驱动和CUDA安装、docker安装和完整配置过程、SSH配置、软件安装(App Store软件安装与其他软件安装,以VScode和Mathlab为例&#xff09…

Ubuntu 22.04下Docker安装(最全指引)

0-1开始Java语言编程之路 一、Ubuntu下Java语言环境搭建 | MacOS下使用Jenv管理多JDK版本 二、Ubuntu下Docker环境安装 | MacOS下Docker安装与配置 三、使用Docker搭建本地Nexus Maven私有仓库 四、Ubuntu下使用VisualStudioCode进行Java开发 五、从Swagger到OpenAPI&#xff0…

[Ubuntu]安装ollama操作记录

安装ollama操作记录 简介 Ollama 是一个致力于推动本地人工智能模型开发和应用的工具和平台,允许用户在本地运行、管理和调用各种 AI 模型。它的核心理念是提供一种无需依赖云计算环境的方式,让开发者和企业能够高效地使用 AI 模型,同时确保数…

AI全栈之路:Ubuntu云服务器部署Spring + Vue + MySql

背景介绍 之前使用AI代码工具Trae基于Spring Vue MySql生成了一个输入要做事情AI自动生成待办任务列表的的小工具,效果如下: 本地跑通后正好有一台阿里云服务器和域名,准备把这个项目部署到云服务器实现远程访问,本文记录部署…

IsaacLab最新2025教程-环境配置(IsaacSim 4.5.0/Ubuntu22.04) 原创

拖了几个月,终于录了一个安装视频在b站: IsaacLab最新2025教程-环境配置(IsaacSim 4.5.0/Ubuntu22.04) 原创_哔哩哔哩_bilibili IsaacLab的官方入门教程专栏会不断更新哈: IsaacLab教程2025_Calm_dw的博客-CSDN博客 Update 最近看大家的…

在Ubuntu22.04上部署ComfyUI

ComfyUI 是 一个基于节点流程的 Stable Diffusion 操作界面,可以通过流程,实现了更加精准的工作流定制和完善的可复现性。每一个模块都有特定的的功能,我们可以通过调整模块连接达到不同的出图效果,特点如下: 1.对显存…

[Linux]在Ubuntu中安装samba并且正确配置(详细)

一、我们为什么需要samba服务 samba是一种实现windows和linux包括macos文件共享的套件。它能让我们像访问自己的磁盘一样去访问别的系统的文件。可以看得出来这种一种快速并且高效的文件传输协议。看到这里,大家可能会有些疑问。向linux传输文件,我们可以…

基于VMware虚拟机的Ubuntu22.04系统安装和配置(新手保姆级教程)

文章目录 一、前期准备1. 硬件要求2. 软件下载2-1. 下载虚拟机运行软件 二、安装虚拟机三、创建 Ubuntu 系统虚拟机四、Ubuntu 系统安装过程的配置五、更换国内镜像源六、设置静态 IP七、安装常用软件1. 编译工具2. 代码管理工具3. 安装代码编辑软件(VIM&#xff09…

媒体:复制“苏超”的精彩很难 “发明者是天才”获赞

6月3日,关于“发明苏超的是天才”的话题引起了广泛关注。媒体对此进行了分析,并表达了高度赞同。6月2日,“发明江苏足球联赛的人一定是个天才”这一话题冲上热搜。有人评论说:“今年端午的欢愉皆由苏超赋予,梗层出不穷,容我再畅快笑上一阵。”自5月10日开赛以来,“苏超”…

巴黎世家线上已下架4500元半身裙 设计争议再起

近日,奢侈品牌巴黎世家推出的一款售价4500元的女款半身裙在网上引发热议。不少网友吐槽该裙子造型与平角短裤极为相似,直呼“看不懂时尚”。据巴黎世家官网介绍,这款深蓝色弹力平纹针织半身裙亮相于2025秋季系列Look 50和Look 54。裙子采用弹力棉混纺平纹针织面料,为平角短…

乌军无人机奇袭俄领土有何影响 俄乌紧张局势升级

乌克兰国家安全局(SBU)出动117架无人机,对俄罗斯多个州的军事基地实施袭击,成功击中41架俄军战机。乌方称,俄罗斯主要机场中约34%的战略轰炸机遭到攻击,损失达到70亿美元。这一消息让外界感到震惊,尤其是袭击目标包括俄远东地区的机场。次日,乌克兰官员更新数据称,至少…

苏超出圈网友玩梗不断 足球与幽默齐飞

江苏省城市足球联赛首次举办,短短三轮比赛后,“苏超”的“含梗量”已经超标。这并非苏格兰足球超级联赛,而是由13个设区市各组一支队伍参与的赛事。截至6月1日,南通队暂列第一。场上是真比拼,场外则充满了网梗和段子。例如,无锡队客场挑战泰州队失利,有人调侃说是因为无…

多方回应男子拖拽女童进小巷 案件定性引争议

6月3日,湖南娄底市公安局娄星分局通报了一起事件。5月20日下午,嫌疑人刘某某(男,38岁)酒后行至娄底市娄星区涟滨中街附近,拖拽一名6岁女童进入居民区巷子,被居民及时制止并报警。警方迅速赶到现场将刘某某控制。经侦查,刘某某涉嫌寻衅滋事已被拘留,并将依法追究其刑事…

老头乐失控撞进餐馆 姐姐冷静救妹妹 姐姐反应神速获赞

6月2日12点48分,河南省周口市西华县某乡镇饭店内发生了一起意外。一位老人在饭店就餐结束后准备驾驶老年代步电动车离开,因操作不当,车辆冲破大门径直冲进店内。当时,饭店老板一岁多的孙女正在店内玩耍,就站在车辆行进路线上。眼看幼童就要被撞,她的姐姐迅速将妹妹抱起转…

科学家发现超级地球 或存类地生命 宜居带内新希望

人类是否是宇宙中唯一的智慧生命?是否存在另一颗像地球一样适合生命存在的行星?这些都是长久以来人们关心的宇宙谜题。中国科学院云南天文台牵头的国际研究团队在一颗类似太阳的恒星周围发现了一颗位于宜居带的超级地球Kepler-725c,其质量大约是地球的10倍。这颗超级地球围绕…

科学家发现一颗“超级地球” 位于宜居带或存生命

人类是否是宇宙中唯一的智慧生命?有没有另一颗像地球一样适合生命存在的行星?这些问题一直是人们关注的宇宙谜题。中国科学院云南天文台牵头的一个国际研究团队,在一颗类似太阳的恒星周围发现了一颗位于宜居带的超级地球Kepler-725c,其质量约为地球的10倍。这颗“超级地球”…

2岁女孩误吞3厘米竹签致腹痛 异物穿肠惊险万分

近两岁大的女孩添添突然腹痛不止,被送到医院检查后发现肚子里竟然有一根竹签,还穿透了肠管。5月27日,家住武汉的添添突发腹痛发热,家长最初以为是普通肠胃炎,在家观察了一天症状有所缓解。但父母仍不放心,便带添添来到湖北省妇幼保健院就诊。儿童普通外科副主任张伊凡听添…

校车与货车碰撞侧翻 22名小学生受伤 事故原因调查中

湖北省黄石市阳新县教育局通报,6月3日早晨,黄颡口镇发生一起交通事故。事故发生后,县委、县政府迅速成立工作组对事故进行核查处理。当天早晨6时50分许,鹿某某驾驶一辆重型自卸货车行驶至S203省道与X043县道交汇路口时,与明某某驾驶的校车发生碰撞,导致校车侧翻。事故造成…

泸州多人吃酒席后上吐下泻 疑似食物中毒引发关注

近日,有网友发布视频称,在四川泸州市威尼斯庄园参加6月1日的婚宴后,许多人出现拉肚子症状,疑似食物中毒。视频显示,酒店工作人员正在医院安抚就诊的食客,并表示会负责。该网友回复称,她和家人在吃完酒席后出现了上吐下泻、发热全身痛的症状,一家四口全部到医院就诊。据…