首页主机资讯Linux MinIO安装脚本使用方法

Linux MinIO安装脚本使用方法

时间2025-12-05 03:03:04发布访客分类主机资讯浏览1376
导读: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
Linux MinIO安装配置文件说明 FetchLinux在Linux开发中的作用

游客 回复需填写必要信息