Linux MinIO安装脚本使用方法
导读:Linux MinIO安装脚本使用方法 一 准备与下载 准备一台具备 wget/curl 的 Linux 主机,建议创建专用数据目录(如:/data/minio),并为后续服务创建系统用户(如:minio)。 选择架构匹配的二进制,常见为...
Linux MinIO安装脚本使用方法
一 准备与下载
- 准备一台具备 wget/curl 的 Linux 主机,建议创建专用数据目录(如:/data/minio),并为后续服务创建系统用户(如:minio)。
- 选择架构匹配的二进制,常见为 linux-amd64;若是 ARM 等架构,请替换为对应下载路径。
- 下载 MinIO 二进制到本地或系统路径(示例为 /usr/local/bin/minio),并赋予可执行权限。
- 如需国内加速,可将下载域名 dl.min.io 替换为 dl.minio.org.cn。
二 一键安装脚本示例
- 用途:自动完成下载、安装、创建 systemd 服务,使用环境变量设置管理员账户,默认开放 API:9000、控制台:9001。
- 保存为:install_minio.sh,按需修改 MINIO_USER / MINIO_PASS / DATA_DIR。
#!/usr/bin/env bash
set -Eeuo pipefail
# 0) 可配置参数
MINIO_USER="${
MINIO_USER:-admin}
"
MINIO_PASS="${
MINIO_PASS:-YourStrongP@ssw0rd}
"
DATA_DIR="${
DATA_DIR:-/data/minio}
"
BIN_DIR="/usr/local/bin"
SERVICE_USER="${
SERVICE_USER:-minio}
"
# 1) 环境检查与依赖
if ! command -v wget >
/dev/null 2>
&
1 &
&
! command -v curl >
/dev/null 2>
&
1;
then
echo "请先安装 wget 或 curl"
exit 1
fi
# 2) 创建用户与数据目录
if ! id "$SERVICE_USER" &
>
/dev/null;
then
useradd --system --home-dir "$DATA_DIR" --shell /usr/sbin/nologin "$SERVICE_USER"
fi
mkdir -p "$DATA_DIR"
chown -R "$SERVICE_USER:$SERVICE_USER" "$DATA_DIR"
# 3) 下载并安装 MinIO 二进制
MINIO_URL="https://dl.min.io/server/minio/release/linux-amd64/minio"
if command -v wget >
/dev/null 2>
&
1;
then
wget -q -O "$BIN_DIR/minio" "$MINIO_URL"
else
curl -s -o "$BIN_DIR/minio" "$MINIO_URL"
fi
chmod +x "$BIN_DIR/minio"
# 4) 创建 systemd 服务
cat >
/etc/systemd/system/minio.service <
<
'EOF'
[Unit]
Description=MinIO Object Storage
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
[Service]
Type=notify
User=%i
Group=%i
Environment="MINIO_ROOT_USER=%i"
Environment="MINIO_ROOT_PASSWORD_FILE=/etc/minio/minio-root-password"
ExecStart=%i server --address ":9000" --console-address ":9001" %S_DATA_DIR%
Restart=always
LimitNOFILE=65536
# 安全加固(可按需调整)
ProtectKernelTunables=yes
ProtectKernelModules=yes
ProtectControlGroups=yes
RestrictAddressFamilies=AF_INET AF_INET6
RestrictNamespaces=yes
RestrictRealtime=yes
SystemCallFilter=@system-service
NoNewPrivileges=yes
[Install]
WantedBy=multi-user.target
EOF
# 将密码写入受保护文件
mkdir -p /etc/minio
echo "$MINIO_PASS" >
/etc/minio/minio-root-password
chown "$SERVICE_USER:$SERVICE_USER" /etc/minio/minio-root-password
chmod 600 /etc/minio/minio-root-password
# 5) 启用并启动服务
systemctl daemon-reload
systemctl enable --now minio.service
echo "MinIO 已安装并启动:"
echo " 服务状态: systemctl status minio"
echo " API: http://$(hostname -I | awk '{
print $1}
'):9000"
echo " 控制台: http://$(hostname -I | awk '{
print $1}
'):9001"
echo " 数据目录: $DATA_DIR"
echo " 运行用户: $SERVICE_USER"
- 赋予执行权限并运行:
chmod +x install_minio.sh
sudo ./install_minio.sh
- 说明:脚本中通过 EnvironmentFile 方式加载密码,避免在命令行暴露;如更倾向环境变量,可将服务中的 Environment 改为直接使用 MINIO_ROOT_PASSWORD,并确保安全。
三 常用操作与验证
- 服务管理:
sudo systemctl start minio # 启动
sudo systemctl stop minio # 停止
sudo systemctl restart minio # 重启
sudo systemctl status minio # 查看状态
sudo systemctl enable minio # 开机自启
- 版本与连通性验证:
minio --version
curl -I http://127.0.0.1:9000/minio/health/live
- 控制台默认端口为 9001,API 默认端口为 9000;如无法访问,请放行防火墙端口(见下一节)。
四 分布式部署与注意事项
- 分布式部署要点:
- 至少准备 4 台服务器,每台挂载 ≥4 块磁盘;服务器间建议使用 NTP 同步时间。
- 各节点创建统一的数据目录并授予运行用户权限;在 systemd 服务中通过 MINIO_VOLUMES 指定所有节点路径,例如:
MINIO_VOLUMES=“http://10.0.0.11/data http://10.0.0.12/data http://10.0.0.13/data http://10.0.0.14/data” - 启动命令示例:minio server $MINIO_VOLUMES --console-address “:9001”。
- 安全与运维建议:
- 使用强口令并限制 MINIO_ROOT_USER / MINIO_ROOT_PASSWORD 的权限与可见性;生产环境避免使用 root 运行。
- 通过 /etc/default/minio 或 systemd Environment 管理配置,避免明文写入命令行。
- 防火墙放行 9000/9001;必要时配置 TLS/反向代理 与 对象锁定/版本控制 等策略。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux MinIO安装脚本使用方法
本文地址: https://pptw.com/jishu/764295.html
