如何在 Ubuntu 16.04 上使用 Minio 设置对象存储服务器

前些天发现了一个人工智能学习网站,通俗易懂,风趣幽默,最重要的屌图甚多,忍不住分享一下给大家。点击跳转到网站。

介绍

从基于云的备份解决方案到高可用性内容交付网络 (CDN),对象存储已成为现代技术领域不可或缺的一部分。而且,凭借其占用空间小、界面简单以及与多种云存储服务的兼容性,Minio对象存储服务器具有强大的功能。

Minio 是一款开源对象存储服务器,它将照片、视频、虚拟机映像、容器和日志文件等非结构化数据存储为对象。在分布式模式下,Minio 提供单个对象存储服务器,该服务器汇集分布在许多服务器上的多个驱动器。

Minio 用 Go 编写,附带命令行客户端和浏览器界面,并支持高级消息队列协议 (AMQP)、Elasticsearch、Redis、NATS和Postgres目标的简单队列服务。

本文你能收获什么:

  • 在服务器上安装 Minio 服务器并将其配置为 systemd 服务。
  • 使用 Let’s Encrypt 设置 SSL/TLS 证书以保护服务器和客户端之间的通信。
  • 通过HTTPS访问Minio的浏览器界面来使用和管理服务器。

先决条件

要完成本教程,需要:

  • 一台 Ubuntu 16.04服务器,包括 sudo 非 root 用户和防火墙。

第 1 步 — 安装和配置 Minio 服务器

可以通过编译源代码或通过二进制文件来安装Minio服务器。下面是用最简单的方式(通过二进制文件)安装服务器,之后配置所有内容。

首先,登录你的服务器:

ssh sammy@your_server_ip

更新软件包数据库:

sudo apt-get update

接下来,下载 Minio 服务器的二进制文件:

curl -O https://dl.minio.io/server/minio/release/linux-amd64/minio

名为的文件minio将被下载到您的工作目录中。使其可执行:

sudo chmod +x minio

将文件移动到/usr/local/binMinio 的 systemd 启动脚本期望找到它的目录中:

sudo mv minio /usr/local/bin

出于安全原因,不建议使用root身份运行 Minio 服务器。而且,由于我们将在步骤 2 中使用的 systemd 脚本会查找名为minio-user 的用户帐户和组,因此需要创建用户账户和组。

sudo useradd -r minio-user -s /sbin/nologin

将二进制文件的所有权更改为minio-user

sudo chown minio-user:minio-user /usr/local/bin/minio

接下来,创建一个 Minio 将存储文件的目录。这个是将在步骤 5 中创建的存储的存储位置。

sudo mkdir /usr/local/share/minio

将该目录的所有权授予minio-user

sudo chown minio-user:minio-user /usr/local/share/minio

/etc目录是服务器配置文件最常见的位置,在这个位置为 Minio 创建一个文件。

sudo mkdir /etc/minio

将该目录的所有权也授予minio-user

sudo chown minio-user:minio-user /etc/minio

使用 nano 或其它文本编辑器比如 vim 创建修改默认配置所需的环境文件:

sudo nano /etc/default/minio

并且,添加以下变量:

/etc/default/minio

MINIO_VOLUMES="/usr/local/share/minio/"
MINIO_OPTS="-C /etc/minio --address your-server-ip:9000"
  • MINIO_VOLUMES:指向之前创建的存储目录。
  • MINIO_OPTS:修改服务器的行为。-C标志将 Minio 指向它应该使用的配置目录,而**–address标志则告诉 Minio 要绑定的 IP 地址和端口。如果未指定 IP 地址,Minio 将绑定到服务器上配置的每个地址,包括localhost和任何与 Docker 相关的 IP 地址,因此最好在此文件中明确指定 IP 地址。默认端口为9000**。

最后,完成更改后保存并关闭环境文件。

Minio 现已安装,接下来,我们将配置服务器作为系统服务运行。

步骤 2 — 安装 Minio Systemd 启动脚本

配置 Minio 服务器作为 systemd 服务进行管理。首先,使用以下命令下载 Minio 服务描述符文件:

curl -O https://raw.githubusercontent.com/minio/minio-service/master/linux-systemd/minio.service

下载完成后,工作目录中应出现一个名为minio.service 的文件。

打开它以查看其内容:

nano minio.service

看一下没有什么要修改的内容或需要添加的内容,可以关闭文本编辑器。

Systemd 要求单元文件存储在 systemd 配置目录中,因此请移至minio.service此处:

sudo mv minio.service /etc/systemd/system

然后,运行以下命令重新加载所有 systemd 单元:

sudo systemctl daemon-reload

最后,启用 Minio 开机自启动:

sudo systemctl enable minio

现在 systemd 脚本已安装并配置完毕,让我们启动服务器。

第 3 步 — 启动 Minio 服务器

首先,启动Minio服务器:

sudo systemctl start minio

使用以下命令验证 Minio 的状态、其绑定的 IP 地址、内存使用情况等:

sudo systemctl status minio

应该得到如下输出:

Outputminio.service - MinioLoaded: loaded (/etc/systemd/system/minio.service; enabled; vendor preset: enabled)Active: active (running) since Fri 2017-04-07 00:26:10 UTC; 11min agoDocs: https://docs.minio.ioProcess: 25069 ExecStartPre=/bin/bash -c [ -n "${MINIO_VOLUMES}" ] || echo "Variable MINIO_VOLUMES not set in /etc/default/minio" (code=exitMain PID: 25073 (minio)Tasks: 6Memory: 20.7MCPU: 544msCGroup: /system.slice/minio.service└─25073 /usr/local/bin/minio server -C /etc/minio --address :9000 /usr/local/share/minio/Apr 07 00:26:11 ashtonandgray minio[25073]: Browser Access:
Apr 07 00:26:11 ashtonandgray minio[25073]:    http://174.138.67.91:9000

接下来,在配置的端口上允许通过防火墙访问 Minio 服务,本文端口是 9000。

因此,首先添加规则:

sudo ufw allow 9000

然后,重新启动防火墙:

sudo systemctl restart ufw

Minio 现在已准备可以使用,在连接到服务器之前,建议通过安装 SSL/TLS 证书来保护通信。

步骤 4 — 使用 Let’s Encrypt SSL/TLS 证书保护对 Minio 服务器的访问

在此步骤中,将使用基于控制台的证书生成客户端Concert来使用开源Let’s Encrypt证书颁发机构创建 SSL/TLS 证书。虽然还有其他方法可以生成 Let’s Encrypt 证书,但 Concert 是由 Minio 的开发人员编写的,也是官方安装说明的一部分。

首先,使用以下命令下载 Concert:

go get -u github.com/minio/concert 

完成后,GOPATH*concert目录中应该有一个名为bin的文件。

接下来,生成证书。

**注意:**要生成证书,concert需要允许通过端口 443 的流量通过防火墙。

使用该标志运行以下命令,--dirs告诉 Concert 您要使用的输出目录、电子邮件地址和域名:

sudo GOPATH/bin/concert gen --dir minio-certs sammy@example.com example.com

输出将如下所示:

Output2017/04/09 01:21:08 Generated certificates for example.com under minio-certs will expire in 89 days.

并且,Concert 将生成一个private.key和一个public.crt文件。

接下来,将这两个文件复制到配置文件夹下的目录中,本教程的目录是/etc/minio

sudo cp minio-certs/private.key /etc/minio/certs/
sudo cp minio-certs/public.crt /etc/minio/certs/

现在,将文件的所有权更改为minio-user

sudo chown minio-user:minio-user /etc/minio/certs/private.key
sudo chown minio-user:minio-user /etc/minio/certs/public.crt

重新启动 Minio 服务器,以便其识别证书并开始使用 HTTPS:

sudo systemctl restart minio

由于生成的 Let’s Encrypt 证书的有效期只有 90 天,手动重复更新证书效率很低,因此在服务器模式下启动 Concert 设置系统自动更新证书:

sudo concert server --dir minio-certs sammy@example.com example.com

这样,Minio 的连接现在是安全的,并且 SSL/TLS 证书将自动续订。

第 5 步 — 使用 HTTPS 安全连接到 Minio 的 Web 界面

通过将浏览器指向https://example.com:9000 来访问 Web 界面。

接下来,需要找到登录凭据。步骤 3 中启动服务器时,Minio 将其配置文件写入/etc/minio目录。该配置文件config.json包含现在访问服务器所需的accessKey和**SecretKey值。**请务必将两把钥匙复制并保存在易于拿到且安全的地方,以供将来使用。

/etc/minio/config.json

{"version": "19","credential": {"accessKey": "8ngv6i97QZV959Y87Y007FP","secretKey": "C6hK8ytyBe3Q952bght65434JiZN08itG49jG5RX"},"region": "us-east-1",...
}

至此 over~

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

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

相关文章

2023 山东 信息安全管理与评估 选择题答案 仅供参考

一、 单选题(每题 2 分,共 35 题,共 70 分) 1.将用户user123修改为管理员权限命令是( C )。 A. net user localgroup administrators user123 /add B. net use localgroup administrators user123 /add…

FindMy技术用于遥控器

遥控器已经悄然成为我们生活中的常客。无论是控制电视机的开关,调整音量,切换频道,还是控制空调的温度,调节灯光亮度,甚至远程操控智能家居设备,遥控器都为我们提供了极大的便利。 将遥控器与FindMy技术相结…

人工通用智能AGI

GPT图解大模型 GPT4-点亮人工智能的火花 以GPT-4 为代表的大级模语有模型Large-scale Language Model,LLM,也称大模型)是使用前所未有的计算参数和海数据进行训练得到的。 它们在各种领域和任务中表现出非凡的能力,挑战了我们对学习和认知的…

Linux内核并发与同步机制解读(arm64)上

关键词 原子操作、自旋锁、信号量、mutex、读写锁、percpu-rwsem 概述 从浅到深,逐步分析各种同步机制的功能。 1、原子操作 解决“读-修改-回写”的完整性,一般用于静态全局变量的保护,静态全局变量的操作过程. 例如,我们写一…

【计算机网络】快速做题向 极限数据传输率的计算(有噪声/无噪声)

首先需要理解什么是码元 码元在课本上的概念比较难理解 但是只要记住 二进制码元在图上显示的就是有两种高度的横杠“—”(对应0,1),即,有两种二进制码元 四进制就是有四种高度的横杠“—”(对应00&…

【C语言】一篇文章深入解析联合体和枚举且和结构体的区别

文章目录 📝前言🌠 联合体类型的声明🌉联合体的特点 🌠相同成员的结构体和联合体对⽐🌉联合体⼤⼩的计算 🌠联合体应用🌉枚举类型的声明 🌠枚举类型的优点🌉 枚举类型的使…

方案:智能分析网关V4在高校实验室安全管理中的应用

一、方案背景 实验室作为科研与教学的核心场所,其重要性不言而喻。高校实验室由于其开放性与多样性,安全管理尤为重要。高校实验室的安全管理,不仅是保障科研与教学质量的基础,更是校园安全的重要组成部分。一旦发生安全事故&…

LabVIEW在电机噪声与振动探测的应用

LabVIEW在电机噪声与振动探测的应用 硬件部分是电机噪声和振动测试分析系统的基础,主要由三大核心组件构成:高灵敏度振动传感器、先进的信号调理电路和高性能数据采集卡。这些设备协同工作,确保了从电机捕获的噪声和振动信号的准确性和可靠性…

山西电力市场日前价格预测【2023-12-28】

日前价格预测 预测说明: 如上图所示,预测明日(2023-12-28)山西电力市场全天平均日前电价为814.30元/MWh。其中,最高日前电价为1500.00元/MWh,预计出现在08:00~08:45,17:00~20:15。最低日前电价为394.61元/…

Vue3-29-路由-编程式导航的基本使用

补充一个知识点 路由配置中的 name 属性 : 可以给你的 路由 指定 name属性,称之为 命名路由。 这个 name 属性 在 编程式导航 传参时有重要的作用。 命名路由的写法如下 : 像指定 path 一样,直接指定一个 name 属性即可。{path:/d…

ubuntu 安装apisix -亲测可用

官方未提供在ubuntu系统中安装apisix的方式,似乎只能通过源码方式安装,但是并不推荐,非常容易失败, 具体操作方式如下: ubuntu和Debian其实类似的,可使用DEB方式安装,如下截图 注意&#xff1…

实用的二进制文件分割器

自己写的一个能方便分割文件的小工具 1.可以按照任意方式分割文件 (1)分割范围 (2)分割块大小 (3)分割份数 (4)可以反向分割(从文件末尾向文件头分割) 2.可以指定输出文件名规则 (1)文件名前缀 (2)文件名序号 (3)文件名后缀(扩展名) (4)文件名…

python + flask+nginx+mysql环境安装详解

一、下载安装Nginx服务 运行以下命令安装Nginx。 yum -y install nginx 运行以下命令查看Nginx版本。 nginx -v 返回结果如下所示,表示Nginx安装成功。 nginx version: nginx/1.20.1 二、安装Mysql5.7 运行以下命令更新YUM源。 rpm -Uvh http://dev.mysql.com/get…

Arduino驱动TMF8801 ToF激光测距传感器(距离传感器)

目录 1、传感器特性 2、硬件原理图 3、控制器和传感器连线图 4、驱动程序 <

【游戏】如何开发一款游戏:游戏开发流程及所需工具

游戏作为娱乐生活的一个方面&#xff0c;参与其中的人越来越多&#xff0c;而大部分参与其中的人都是以玩家的身份。 他们热爱一款游戏&#xff0c;或是被游戏的故事情节、炫丽的场景、动听的音乐所艳羡&#xff0c;亦或是被游戏中角色扮演、炫酷的技能、有趣的任务所吸引&…

Ansible Windows批量安装软件

文章目录 1&#xff1a;Windows配置WINRM2: ansible安装3&#xff1a;操作步骤3.1 配置主机清单3.2 测试ansible执行命令3.3 测试安装7Z ansible操作通过winrm协议windows&#xff0c;经过实践精简以下方法能快速配置&#xff0c;并能通过测试 更多文档参考: 支持的windows版本…

vscode 支持c,c++编译调试方法

概述&#xff1a;tasks.jason launch.json settings.json一定要有&#xff0c;没有就别想跑。还有就是c 和c配置有区别&#xff0c;切记&#xff0c;下文有说 1.安装扩展插件。 2.安装编译器&#xff0c;gcc.我用的是x86_64-8.1.0-release-win32-seh-rt_v6-rev0.7z &#xf…

Linux之缓冲区的理解

目录 一、问题引入 二、缓冲区 1、什么是缓冲区 2、刷新策略 3、缓冲区由谁提供 4、重看问题 三、缓冲区的简单实现 一、问题引入 我们先来看看下面的代码&#xff1a;我们使用了C语言接口和系统调用接口来进行文件操作。在代码的最后&#xff0c;我们还使用fork函数创建…

万界星空低代码云MES-才是工业MES的未来

万界星空科技作为一家在云MES系统的研发、生产自动化方面拥有很多年行业经验的科技型企业&#xff0c;多年来专注于云MES系统的研发与技术支持服务&#xff0c;目前已成为国内知名的智能制造整体解决方案提供商。 近几年&#xff0c;万界星空科技发掘制造行业生产及物流难点、…

Linux防火墙设置查看攻略

inux系统是一种常用的服务器操作系统&#xff0c;它的安全性备受关注。为了保障系统网络的安全linux查看防火墙设置&#xff0c;管理员需要设置防火墙规则。本文将从8个方面详细介绍如何查看Linux防火墙设置。 1.查看当前防火墙状态 在Linux系统中&#xff0c;默认安装iptabl…