【Liunx-后端开发软件安装】Liunx安装minio

news/2024/12/20 2:36:31/

【Liunx-后端开发软件安装】Liunx安装nginx
使用安装包安装
一、简介
MinIO 是一个高性能的对象存储系统,专为处理大规模非结构化数据而设计。它完全兼容 Amazon S3 API,这使得 MinIO 不仅可以作为本地存储解决方案,还能轻松地与基于云的服务集成。对于开发者来说,这意味着使用 MinIO 时无需改变现有的应用程序代码或工作流程。

作为一个分布式系统,MinIO 支持跨多个节点和地理位置的部署,确保高可用性和灾难恢复能力。其内置的Erasure Code(擦除编码)和多版本控制功能提供了强大的数据冗余和保护机制,确保即使在硬件故障的情况下也能保证数据的安全性和完整性。

此外,MinIO 的性能优化针对现代 SSD 和 NVMe 硬件进行了特别调整,能够提供极高的吞吐量和低延迟。它还支持细粒度访问控制、加密传输及静态数据加密等功能,以满足企业级安全需求。

总而言之,MinIO 是一个开源、高效且易于部署的对象存储解决方案,非常适合那些需要可靠、高性能存储服务的企业和个人开发者。

二、准备工作
1、下载安装包
进入到自己想放到的磁盘下

java">cd /opt/soft/minios

下载

java">wget https://dl.minio.org.cn/server/minio/release/linux-amd64/minio

2、添加执行权限

java">chmod +x minio

三、安装
这个步骤中介绍了如何在一个单节点单驱动(SNSD)的配置中部署MinIO,此次介绍的是使用脚本文件和自定义配置文件的方式启动

1、创建必要的文件夹和文件

创建数据存放文件夹

java">mkdir -p /opt/miniodata/data1

创建日志存放文件夹

java">mkdir -p /opt/miniodata/logs

创建配置文件

java">vi /opt/soft/minios/config.env

添加配置

java"># MinIO 根用户和密码
MINIO_ROOT_USER=myminioadmin
MINIO_ROOT_PASSWORD=myminiopass# 数据存储目录(请根据实际情况修改)
# 注意:这里指定的是所有参与的磁盘路径,用空格分隔
MINIO_VOLUMES="/opt/miniodata/data1"# 其他高级设置...
MINIO_BROWSER=on  # 禁用浏览器访问控制台
# 设置日志级别为 info 或 error 以减少不必要的日志开销
MINIO_LOG_LEVEL=info# 日志记录目标 (stdout 或 file)
MINIO_LOG_TARGET=stdout# 设置最大并发连接数以优化网络性能
MINIO_MAX_CONNECTIONS=1000# 启用并行上传以提高上传速度
MINIO_PARALLEL_UPLOADS=on# 设置最大并行上传任务数
MINIO_MAX_PARALLEL_UPLOADS=100# 启用读写缓冲区优化
MINIO_READ_BUFFER_SIZE=209715200   # 200MB 读缓冲区
MINIO_WRITE_BUFFER_SIZE=209715200  # 200MB 写缓冲区# 启用 TLS/SSL (如需启用,请确保有正确的证书)
# MINIO_CERTIFICATE=/path/to/certificates/public.crt
# MINIO_PRIVATE_KEY=/path/to/certificates/private.key

创建启动脚本

java">vi /opt/soft/minios/minio-control.sh

添加脚本内容

java">#!/bin/bash# 获取当前脚本的绝对路径
SCRIPT_PATH=$(readlink -f "$0")# 指定配置文件路径
CONFIG_FILE="/opt/soft/minios/config.env"# 定义日志文件路径
LOG_FILE="/opt/miniodata/logs/minio.log"# 确保日志目录存在
mkdir -p $(dirname $LOG_FILE)# 检查配置文件是否存在
if [ ! -f "$CONFIG_FILE" ]; thenecho "Configuration file not found: $CONFIG_FILE"exit 1
fi# 导入配置文件中的环境变量
set -a; source $CONFIG_FILE; set +a# 检查必要环境变量是否已设置
if [ -z "$MINIO_ROOT_USER" ] || [ -z "$MINIO_ROOT_PASSWORD" ] || [ -z "$MINIO_VOLUMES" ]; thenecho "Error: MINIO_ROOT_USER, MINIO_ROOT_PASSWORD and MINIO_VOLUMES must be set in the configuration file."exit 1
ficase "$1" instart)echo "Starting MinIO..."# 检查是否有正在运行的 MinIO 进程if pgrep -x "minio" > /dev/null; thenecho "MinIO is already running."exit 1fi# 启动 MinIO 服务,并将输出重定向到日志文件nohup /opt/soft/minios/minio server $MINIO_VOLUMES --console-address ":9001" >> $LOG_FILE 2>&1 &;;stop)echo "Stopping MinIO..."# 查找并终止所有名为 minio 的进程pkill -SIGINT -x minio;;restart)echo "Restarting MinIO...""$SCRIPT_PATH" stopsleep 5 # 等待 MinIO 完全停止"$SCRIPT_PATH" start;;status)echo "Checking MinIO status..."if pgrep -x "minio" > /dev/null; thenecho "MinIO is running."elseecho "MinIO is not running."fi;;*)echo "Usage: $0 {start|stop|restart|status}"exit 1;;
esacexit 0

配置启动脚本的执行权限

java">chmod +x minio-control.sh

启动

java">sh minio-control.sh start

相关命令

java">#启动
sh minio-control.sh start
#重启
sh minio-control.sh restart
#停止
sh minio-control.sh stop

配置防火墙

java"># 打开终端并输入以下命令:
sudo firewall-cmd --zone=public --add-port=9000/tcp --permanent
sudo firewall-cmd --zone=public --add-port=9001/tcp --permanent# 重新加载 firewalld 配置以使更改生效:
sudo firewall-cmd --reload# 检查端口是否已开放:
sudo firewall-cmd --zone=public --list-ports

四、验证是否启动成功并生成Access Key和Secret Key
使用ip:9001进入minio登录页,输入config.env中配置的账号和密码登录控制台

java">MINIO_ROOT_USER=myminioadmin
MINIO_ROOT_PASSWORD=myminiopass

控制台页面如下:
在这里插入图片描述
配置Access Key和Secret Key
在这里插入图片描述
在这里插入图片描述
配置完成即可使用。

springboot集成方式以及集群部署方案后期再细说。


http://www.ppmy.cn/news/1556537.html

相关文章

金蝶云苍穹踩过的坑(慢慢更新)

IDEA不能用最新版,不然搜不到金蝶的插件。 我用的是2024.1.7/2023.1.7 IDEA里增加金蝶插件库的地址也变了,现在是 https://tool.kingdee.com/kddt/idea-updatePlugins.xml 金蝶云苍穹部署在服务器 MAC本地IDEA调试的时候,登录N次能成功一次…

决策引擎技术

决策引擎(Decision Engine)是一种用于自动化决策过程的软件系统。它通常用于处理复杂的业务逻辑,根据输入的数据和预定义的规则或模型来做出决策。决策引擎在许多领域都有广泛的应用,如金融、保险、医疗、供应链管理等。 在Java中…

linux centos 7 安装 mongodb7

MongoDB 是一个基于文档的 NoSQL 数据库。 MongoDB 是一个文档型数据库,数据以类似 JSON 的文档形式存储。 MongoDB 的设计理念是为了应对大数据量、高性能和灵活性需求。 MongoDB使用集合(Collections)来组织文档(Documents&a…

快速且靠谱的简单安装 PostgreSQL 15 yum 安装postgis3.3

快速且靠谱的简单安装 PostgreSQL 15 yum 安装postgis3.3 1、确保已经安装了PostgreSQL数据库。2、添加PostGIS的EPEL仓库3、使用YUM安装PostGIS4、以下为其他安装方式,一个个去找源码的编译安装,过程较为繁琐(不熟路的不推荐) 要…

设计模式の建造者适配器桥接模式

文章目录 前言一、建造者模式二、适配器模式2.1、对象适配器2.2、接口适配器 三、桥接模式 前言 本篇是关于设计模式中建造者模式、适配器模式(3种)、以及桥接模式的笔记。 一、建造者模式 建造者模式是属于创建型设计模式,通过一步步构建一个…

【嵌入式——QT】QT多线程编程

这里介绍的是moveToThread的方式&#xff0c;继承QThread的方式可以参考我的另一篇文章【嵌入式——QT】QThread创建多线程 编程实现 首先创建一个类&#xff0c;但是这个类一定要继承QObject SerialWorker.h #ifndef SERIALWORKER_H #define SERIALWORKER_H#include <QO…

GPT 时代,精进编程思维 + 熟练 Prompt 是否是新的编程范式?

GPT时代程序员已经不用写代码了&#xff1f; 真实案例&#xff1a;我用GPT的一天 早上9点&#xff0c;我打开电脑&#xff0c;开始和GPT结对编程&#xff1a; 我&#xff1a;帮我写个并发队列 GPT&#xff1a;好的&#xff0c;这是一个线程安全的... 我&#xff1a;等等&…

226. 翻转二叉树(java)

题目描述&#xff1a; 给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点。 示例 1&#xff1a; 输入&#xff1a;root [4,2,7,1,3,6,9] 输出&#xff1a;[4,7,2,9,6,3,1]示例 2&#xff1a; 输入&#xff1a;root [2,1,3] 输出&#xff1…