【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集成方式以及集群部署方案后期再细说。