Linux中快速部署Minio(基础TLS配置)
Linux快速部署Minio用于服务对接(基础&TLS配置)
- 部署 MinIO 服务
- 下载&安装 MinIO 服务器
- RPM(RHEL)
- DEB(Debian/Ubuntu)
- 离线二进制安装
- 创建 systemd 服务文件
- 配置 MinIO 服务
- 创建单机存储目录
- 创建用户和组
- 创建环境变量(暨配置)文件
- 管理 TLS
- 启动 MinIO 服务
- 启动 MinIO 服务
- 配置开机自启动
- 连接到 MinIO 服务
- Web访问
- API访问
- 相关链接
本文目标是部署
基础可用的
Minio服务,场景在于时间并不充足
的情况下,需要快速
部署一套Minio服务用于开发或者服务器初始化
的情况,所以配置或不满足高可用
、高安全等,以效率为主,后续使用过程中可以通过进阶配置完善
- 文章最后也会附加官方文档链接,用于大家进阶配置,学习细节内容
部署 MinIO 服务
下载&安装 MinIO 服务器
使用以下选项之一,为在英特尔或 AMD 64 位处理器上运行 Linux 的机器下载 MinIO 服务器安装文件。
RPM(RHEL)
# RPM(RHEL)
wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio-20241029160148.0.0-1.x86_64.rpm -O minio.rpm
sudo dnf install minio.rpm
DEB(Debian/Ubuntu)
# DEB(Debian/Ubuntu)
wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio_20241029160148.0.0_amd64.deb -O minio.deb
sudo dpkg -i minio.deb
离线二进制安装
下载最新的稳定 MinIO 二进制文件并将其安装到系统 $PATH
wget https://dl.min.io/server/minio/release/linux-arm64/minio
chmod +x minio
MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=password ./minio server /mnt/data --console-address ":9001"
创建 systemd 服务文件
使用.deb或.rpm包安装,将会自动创建以下 systemd 服务文件安装到 /usr/lib/systemd/system/minio.service
如果二进制安装或该位置没有请手动创建以下内容
[Unit]
Description=MinIO
Documentation=https://min-io.cn/docs/minio/linux/index.html
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio[Service]
WorkingDirectory=/usr/localUser=minio-user
Group=minio-user
ProtectProc=invisibleEnvironmentFile=-/etc/default/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})
配置 MinIO 服务
创建单机存储目录
# 自己按需创建
mkdir /data/minio-data
后续注意替换“/data/minio-data”为自己的数据目录
创建用户和组
sudo groupadd -r minio-user
sudo useradd -M -r -g minio-user minio-user# 分配数据目录权限
sudo chown minio-user:minio-user /data/minio-data
注意替换“/data/minio-data”为自己的数据目录
创建环境变量(暨配置)文件
在
/etc/default/minio
处创建一个环境变量文件。MinIO 服务器容器可以使用此文件作为所有 环境变量 的来源,自己可以根据链接中说明增减配置
如以下示例初始文件
# 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 environmentMINIO_ROOT_USER=myminioadmin
MINIO_ROOT_PASSWORD=minio-secret-key-change-me# MINIO_VOLUMES sets the storage volume or path to use for the MinIO server.MINIO_VOLUMES="/data/minio-data"# MINIO_OPTS sets any additional commandline options to pass to the MinIO server.
# For example, `--console-address :9001` sets the MinIO Console listen port
MINIO_OPTS="--console-address :9001 --address :9000"
注意替换MINIO_ROOT_USER、MINIO_ROOT_PASSWORD为自己的Root账号密码
注意替换“/data/minio-data”为自己的数据目录
console-address为web页面端口
address为API端口
管理 TLS
默认情况下,MinIO 服务器在以下目录中搜索每个节点的 TLS 密钥和证书
${HOME}/.minio/certs
其中${HOME}
是运行 MinIO 服务器进程的用户的主目录。如果${HOME}/.minio/certs
目录不存在,则可能需要手动创建
默认${HOME}/.minio/certs
目录是存在local
、minio-*.example.net
域名支持的
如果需要自己生成特定域名的,使用certgen工具在这里下载
然后按命令执行创建个人域名TLS支持domain.net换成自己域名
certgen -host "domain.net"
将生成的 public.crt 和 private.key 放入 ${HOME}/.minio/certs
这个目录可以放多个域名,同时支持多个域名的https,只需要建立子目录,子目录名就是自己要设置的域名
,放入certgen
生成的两个证书文件即可,如下
启动 MinIO 服务
启动 MinIO 服务
sudo systemctl start minio.service
使用以下命令确认服务已上线并正常运行
sudo systemctl status minio.service
journalctl -f -u minio.service
配置开机自启动
sudo systemctl enable minio.service
连接到 MinIO 服务
Web访问
浏览器输入https://domain:9001
这是配置的Web端口domain换成自己域名
使用MINIO_ROOT_USER、MINIO_ROOT_PASSWORD
的值登录
API访问
工具访问、CLI(mc
)访问
有关安装 mc
的说明,请参见 MinIO 客户端安装快速入门
创建一个与 MinIO 部署相对应的新 alias 链接指定的 MinIO Server API 主机名或 IP 地址,如:https://domain:9000
这是配置的API端口domain换成自己域名
mc alias set myminio https://domain:9000 myminioadmin minio-secret-key-change-me
使用MINIO_ROOT_USER、MINIO_ROOT_PASSWORD
的值登录
相关链接
安装和部署 MinIO
管理现有的 MinIO 部署
Minio配置&环境变量
Minio TLS
certgen工具