首页 > 系统相关 >如何在 Ubuntu 16.04 上使用 Minio 设置对象存储服务器

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

时间:2023-12-29 15:34:07浏览次数:45  
标签:minio 16.04 sudo etc user Ubuntu 服务器 Minio

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

介绍

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

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

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

本文你能收获什么:

  • 在服务器上安装 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 - Minio
   Loaded: loaded (/etc/systemd/system/minio.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2017-04-07 00:26:10 UTC; 11min ago
     Docs: https://docs.minio.io
  Process: 25069 ExecStartPre=/bin/bash -c [ -n "${MINIO_VOLUMES}" ] || echo "Variable MINIO_VOLUMES not set in /etc/default/minio" (code=exit
 Main PID: 25073 (minio)
    Tasks: 6
   Memory: 20.7M
      CPU: 544ms
   CGroup: /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 [email protected] 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 [email protected] 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~

标签:minio,16.04,sudo,etc,user,Ubuntu,服务器,Minio
From: https://blog.51cto.com/TiMi/9028367

相关文章

  • ubuntu 安装 docker
    ubuntu安装docker详细步骤ubuntu下自带了docker的库,不需要添加新的源。但是ubuntu自带的docker版本太低,需要先卸载旧的再安装新的。卸载旧版本apt-getremovedockerdocker-enginedocker.iocontainerdrunc安装前提依赖aptupdateapt-getinstallca-certificates......
  • Ubuntu 20.04 安装Odoo17
    1、升级系统sudoapt-getupdate2、更新系统sudoapt-getupgrade3、查看系统Python3版本python3-V4、更新Python3.8到3.10sudoadd-apt-repositoryppa:deadsnakes/ppasudoapt-getupdate安装Python3.10sudoapt-getinstallpython3.10-y安装完成后,检查新版......
  • Ubuntu22.04上使用systemctl命令配置开机自启动服务、脚本、命令
    systemctl介绍systemctl是Linux系统上用于管理系统服务(systemd单元)的命令行工具。它可以用来启动、停止、重启、禁用、启用、查询和管理系统服务的状态。以下是一些常用的systemctl命令:systemctlstartservicename:启动一个服务。systemctlstopservicename:停止一个服务。s......
  • 怎么把WIFI共享给本地连接Ubuntu主机?
    在Ubuntu系统中,有多种方法可以实现将WIFI共享给本地连接的主机。以下是两种常用的方法:使用网络管理器进行共享:首先确保你的Ubuntu系统已经连接到WiFi网络。打开“设置”并进入“网络”选项。选择你当前连接的WiFi网络,然后点击“编辑”。在“Wi-Fi设置”窗口中,找到“共享”选项卡并......
  • ubuntu 20.04.6 LTS (Focal Fossa) 升级openssh9.6p1,zlib1.3,openssl3.2.0
    #卸载opensshapt-getremoveopenssh-serveropenssh-client-y #更新APT软件包列表apt-getupdate-y #安装libpam0g-dev和gccapt-getinstalllibpam0g-devbuild-essential-y #安装zlibtar-zxvfzlib-1.3tar.gz./configure--sharedmake&&mak......
  • OS-Ubuntu-Server-Connect to Wi-Fi From Terminal on Debian 11/10 with WPA Supplic
    ConnecttoWi-FiFromTerminalonDebian11/10withWPASupplicantLastUpdated:November8th,2022XiaoGuoan(Admin)31CommentsDebianThistutorialisgoingtoshowyouhowtoconnecttoWi-FinetworkfromthecommandlineonDebian11/10serverandd......
  • Ubuntu23.04下anaconda3的安装、配置
    一.安装anaconda3前往清华园镜像下载anaconda3的安装包https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D选择最新镜像Anaconda3-2023.09-0-Linux-x86_64.sh 安装1bashAnaconda3[version].shversion是下载的包的版本,如:bash Anaconda3-2023.09-0-L......
  • Ubuntu主机互联怎么实现
    在Ubuntu主机间实现互联,你可以通过网线直接连接两台主机,或者通过共享文件夹、共享粘贴板和拖放来实现文件的互相访问。如果你需要让虚拟机中的Ubuntu与宿主机网络互通,可以选择“桥接模式”来设置网络连接。以下是具体步骤:如果你希望通过网线连接两台Ubuntu主机实现互联,你需要准备两......
  • 编译自己的minio运行程序
    1.下载源码包源码托管在github,如果嫌下载慢就去码云急速下载里面下载:github仓库地址:https://github.com/minio/minio/releasesgitee镜像仓库:https://gitee.com/mirrors/minio/tags假设我这里下载了的文件是这个RELEASE.2023-12-14T18-51-57Z.tar.gz,我们把压缩包解压后改名......
  • Ubuntu22安装graalvm JDK17+Tomcat9设置自启动
    graalvmJdk17安装参考 https://blog.csdn.net/weixin_46551671/article/details/134264889 Tomcat安装下载地址https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.84/bin/apache-tomcat-9.0.84.tar.gz安装下载安装包,将安装包上传到/usr/local/目录下执行以下命令tar......