
1.minio启动脚本
#!/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
fi2. nginx配置
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] 删除。