Centos7安装minio配置开机自动启动脚本(实战教程)

安装环境说明

官方文档:https://min.io/docs/minio/linux/operations/install-deploy-manage/deploy-minio-single-node-single-drive.html 点击跳转

软件包版本
操作系统Centos 7.9
Miniominio-20230527055619.0.0.x86_64.rpm
客户端Edge浏览器

下载minio

安装有三种方式,本文采用了二进制安装方式(下载后只有一个minio文件),原因:提供以下三种方式:但是centos7本身没有dnf命令,需要yum进行安装,故没采用。以下是官方提供的安装命令(只能用于调试,不支持开机自启动):
二进制方式:

wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=password ./minio server /mnt/data --console-address ":9001"

RPM方式

dnf install https://dl.min.io/server/minio/release/linux-amd64/minio-20230527055619.0.0.x86_64.rpm
MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=password minio server /mnt/data --console-address ":9001"

DEB方式

wget https://dl.min.io/server/minio/release/linux-amd64/minio_20230527055619.0.0_amd64.deb
dpkg -i minio_20230527055619.0.0_amd64.deb
MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=password minio server /mnt/data --console-address ":9001"

本文采用第一种,截图如下。在这里插入图片描述
找本地最大的一块磁盘(目录),作为本地对象存储的存储桶。
在这里插入图片描述

命令行启动和访问(调试用)

采用官方的安装命令,启动进行验证调试。此方式不能开机自启动,也不支持服务运行状态查看,不推荐项目直接使用。
项目使用的话,可直接忽略本小节内容,进行开机自启动配置。

创建存储管理用户
useradd minio
切换为minio用户,进行下面操作:su - minio
创建存储文件夹(对象存储桶位置):mkdir slylData

在这里插入图片描述
重新切换为root,进行minio操作。

./minio===这里是相对路径,可以改为绝对路径
/home/minio/slylData==存储文件的路径,此文件下会包含后期全部Buckets
--console-address==设置web访问端口,自定义。 
#! /bin/bash

MINIO_ROOT_USER=minio
MINIO_ROOT_PASSWORD=minio@2023
/usr/local/bin/minio server /slylData/minio --console-address ":9001"

在这里插入图片描述
浏览器输入:截图红框地址,填写用户名和密码(上面脚本对应的值),登录即可进行简单的体验了。命令行不能关闭,否则服务中断。
在这里插入图片描述

正式部署模式:开机自启动配置

  • 第一步:进入minio下载后位置,执行: mv minio /usr/local/bin/
    在这里插入图片描述
  • 创建文件:vi /etc/systemd/system/minio.service 将配置文件按照以下内容进行配置。
    注意,一定要删除配置文件中的中文注释,否则启动失败!!!
    注意,一定要删除配置文件中的中文注释,否则启动失败!!!
    注意,一定要删除配置文件中的中文注释,否则启动失败!!!
[Unit]
Description=MinIO
Documentation=https://min.io/docs/minio/linux/index.html
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio

[Service]
WorkingDirectory=/usr/local

User=minio  #这是创建的Linux用户
Group=minio #这是创建的Linux用户所在组
ProtectProc=invisible #后台模式运行

EnvironmentFile=-/etc/default/minio #minio配置文件目录,注意前面的-
ExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\"; exit 1; fi"
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES

# MinIO RELEASE.2023-05-04T21-44-30Z adds support for Type=notify (https://www.freedesktop.org/software/systemd/man/systemd.service.html#Type=)
# This may improve systemctl setups where other services use `After=minio.server`
# Uncomment the line to enable the functionality
# Type=notify

# Let systemd restart this service always
Restart=always

# Specifies the maximum file descriptor number that can be opened by this process
LimitNOFILE=65536

# Specifies the maximum number of threads this process can create
TasksMax=infinity

# Disable timeout logic and wait until process is stopped
TimeoutStopSec=infinity
SendSIGKILL=no

[Install]
WantedBy=multi-user.target

# Built for ${project.name}-${project.version} (${project.name})

  • 创建配置文件 vi /etc/default/minio
前提操作:之前已完成则忽略,直接进入配置文件环节。
创建用户:useradd   minio  
路径权限:chown -R minio:minio /home/minio/slylData #你自己的路径

注意,一定要删除配置文件中的中文注释,否则启动失败!!!
注意,一定要删除配置文件中的中文注释,否则启动失败!!!
注意,一定要删除配置文件中的中文注释,否则启动失败!!!

# MINIO_ROOT_USER and MINIO_ROOT_PASSWORD sets the root account for the MinIO server.
# This user has unrestricted permissions to perform S3 and administrative API operations on any resource in the deployment.
# Omit to use the default values 'minioadmin:minioadmin'.
# MinIO recommends setting non-default values as a best practice, regardless of environment

MINIO_ROOT_USER=minio #这里配置超级管理员用户
MINIO_ROOT_PASSWORD=minio@2023 #这里配置超管用户密码

# MINIO_VOLUMES sets the storage volume or path to use for the MinIO server.

MINIO_VOLUMES="/home/minio/slylData" #这里配置上文创建的存储目录
MINIO_OPTS="--console-address :9001 --address :9000"  #这里配置端口
# MINIO_SERVER_URL sets the hostname of the local machine for use with the MinIO Server
# MinIO assumes your network control plane can correctly resolve this hostname to the local machine
MINIO_SERVER_URL="http://127.0.0.1:9000" #这里配置web访问

在这里插入图片描述

  • 第四步:启动:systemctl start minio.service
 systemctl stop minio 关闭服务
 systemctl start minio 开启服务
 systemctl status minio 查看状态
 systemctl disable minio.service 关闭MinIO每次开机启动
 systemctl enable minio.service 开启MinIO每次开机启动
  • 可以直接用root用户启动,也可以切换为minio用户启动(但是启动需要root密码)在这里插入图片描述
    在这里插入图片描述
    第五步:设置开机启动。systemctl enable minio
    在这里插入图片描述
    浏览器访问验证。
    在这里插入图片描述

创建minio项目对应用户及授权

配置Minio项目用户,并授权,流程:创建用户—>创建组—>Buckets授权。通过浏览器配置,首先使用minio超级管理员用户(配置文件中的用户)登录,进行以下操作。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注意:默认access policy是private,若应用程序无法直接访问,可以修改为public或者custom.

在这里插入图片描述在这里插入图片描述

获取连接Access Key

创建成功后,退出当前用户(超管),使用新创建的用户登录。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以下载配置文件,并把配置写入5G配置文件中。以下是下载的配置文件,发给研发人员进行配置。

例如:
{"url":"http://127.0.0.1:9000","accessKey":"XXujiLrRE98dE29jVYDev","secretKey":"gDGLatE4rXT1mNtnehl4DlwQfmk1YeqAq7IXnuZ4","api":"s3v4","path":"auto"}

启动错误解决

这个错误原因可能是:上述2个配置文件的中文没删除,导致的。这个可能性最大。
原因2:配置文件没有加载到环境变量,可以通过一下方式验证

[minio@localhost ~]$ echo ${MINIO_VOLUMES}
没生效的话,这里没有输出值
[minio@localhost ~]$ source /etc/default/minio 
[minio@localhost ~]$ echo ${MINIO_VOLUMES}
/slylData

原因3:selinux 为设置为disable。
原因4:文件路径权限不足,即存储路径对应的权限:chown -R minio:minio 这个R不要省了
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值