首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Minio启动脚本+nginx配置

Minio启动脚本+nginx配置

原创
作者头像
他们说下雨了
发布2025-11-25 11:11:16
发布2025-11-25 11:11:16
1480
举报

1.minio启动脚本

代码语言:txt
复制
#!/bin/bash

# MinIO 启动脚本
set -euo pipefail  # 启用严格模式

# 配置参数
readonly MINIO_ROOT_USER="admin"
readonly MINIO_ROOT_PASSWORD="12345678"
readonly MINIO_VOLUMES="data"
readonly MINIO_CONSOLE_PORT="9001"
readonly MINIO_SERVER_PORT="9000"
readonly LOG_FILE="log/minio.log"
readonly MINIO_BINARY="bin/minio"
# 关键配置,minio重定向访问url
readonly MINIO_BROWSER_REDIRECT_URL="https://192.168.247.115:8080/minio/ui"


# 创建必要目录
mkdir -p "$(dirname "$LOG_FILE")" "data"

# 检查 MinIO 二进制文件是否存在
if [[ ! -f "$MINIO_BINARY" ]]; then
    echo "错误: MinIO 二进制文件不存在: $MINIO_BINARY" >&2
    exit 1
fi

# 检查数据目录是否存在且可写
if [[ ! -w "data" ]]; then
    echo "错误: 数据目录不存在或不可写: data" >&2
    exit 1
fi

# 设置环境变量
export MINIO_ROOT_USER
export MINIO_ROOT_PASSWORD
export MINIO_VOLUMES
export MINIO_BROWSER_REDIRECT_URL

# 检查是否已有 MinIO 进程在运行
if pgrep -f "minio server" > /dev/null; then
    echo "警告: MinIO 进程已在运行"
    exit 1
fi

# 启动 MinIO 服务器
echo "$(date): 启动 MinIO 服务器..." | tee -a "$LOG_FILE"

nohup "$MINIO_BINARY" server "${MINIO_VOLUMES}" \
    --console-address ":$MINIO_CONSOLE_PORT" \
    --address ":$MINIO_SERVER_PORT" \
    >> "$LOG_FILE" 2>&1 &

# 获取进程 PID
MINIO_PID=$!
echo "$MINIO_PID" > minio.pid

echo "MinIO 服务器已启动 (PID: $MINIO_PID)"
echo "控制台地址: http://localhost:9001"
echo "日志文件: $LOG_FILE"
echo "PID 文件: /var/run/minio.pid"

# 等待一段时间检查进程是否仍在运行
sleep 3
if kill -0 "$MINIO_PID" 2>/dev/null; then
    echo "MinIO 服务器启动成功"
else
    echo "错误: MinIO 服务器启动失败,请检查日志: $LOG_FILE" >&2
    exit 1
fi

2. nginx配置

代码语言:txt
复制
        server_tokens off;
        client_max_body_size 1000M;
    
        # 通用代理配置
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Host $host:$server_port;
    
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    
        proxy_connect_timeout 300;
        proxy_send_timeout 300;
        proxy_read_timeout 300;


        # MinIO API 代理
        location /minio/api/ {
            proxy_pass http://127.0.0.1:9000/;
            # 重写路径:移除 /minio/api 前缀
            rewrite ^/minio/api/(.*)$ /$1 break;
        }

        # MinIO Web 控制台代理
        location /minio/ui/ {
            proxy_pass http://127.0.0.1:9001/;
            # 重写路径:移除 /minio/ui 前缀
            rewrite ^/minio/ui/(.*)$ /$1 break;
        }

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 [email protected] 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 [email protected] 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档