Files
xiaoxia-saas/docs/基础设施安装指南.md
T
API文档维护Agent e2c68888e9
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
refactor: 统一 OSS 配置命名(MINIO_* → OSS_*)
- .env.production: MINIO_* 环境变量全部改为 OSS_* 命名
  - MINIO_ENDPOINT → OSS_ENDPOINT
  - MINIO_ACCESS_KEY → OSS_ACCESS_KEY_ID
  - MINIO_SECRET_KEY → OSS_ACCESS_KEY_SECRET
  - MINIO_BUCKET → OSS_BUCKET_NAME
  - MINIO_SECURE → OSS_SECURE
  - MINIO_PUBLIC_URL → OSS_PUBLIC_URL
- .env.staging: 修正 section header 为 OSS 对象存储配置
- storage.py: 移除 MinIOService 和 get_minio_service() 向后兼容别名
- test_architecture_boundaries.py: 移除 storage.py 的 allowed 例外
- 更新文档中的 MINIO_* 示例为 OSS_*:
  - docs/CI-CD.md
  - docs/基础设施安装指南.md
  - docs/本地验证检查清单.md
  - docs/静态验证报告-2026-06-19.md
2026-06-28 08:33:48 +08:00

7.5 KiB
Raw Blame History

小虾 SaaS 基础设施安装指南

目标:统一安装路径,便于管理
安装位置F:\xiaoxia-infrastructure\


一、安装 PostgreSQL

1.1 下载

官方下载地址https://www.enterprisedb.com/downloads/postgres-postgresql-downloads

推荐版本PostgreSQL 16.x for Windows x86-64

下载链接https://sbp.enterprisedb.com/getfile.jsp?fileid=1258893


1.2 安装

  1. 运行下载的安装程序
  2. 安装路径F:\xiaoxia-infrastructure\PostgreSQL\16
  3. 端口5432(默认)
  4. 超级用户密码:设置一个你记得住的密码(如:xiaoxia2026
  5. 勾选 "Launch Stack Builder at exit"(可以取消)

1.3 配置

创建数据库和用户

-- 使用 psql 或 pgAdmin 执行

-- 创建用户
CREATE USER xiaoxia WITH PASSWORD 'xiaoxia2026';

-- 创建数据库
CREATE DATABASE xiaoxia_saas OWNER xiaoxia;

-- 授权
GRANT ALL PRIVILEGES ON DATABASE xiaoxia_saas TO xiaoxia;

1.4 验证

# 设置环境变量(临时)
$env:PGPASSWORD="xiaoxia2026"

# 测试连接
psql -h localhost -U xiaoxia -d xiaoxia_saas -c "SELECT 1;"

预期输出

 ?column? 
----------
        1
(1 row)

二、安装 Redis

2.1 下载

Windows 版本https://github.com/tporadowski/redis/releases

推荐版本Redis-x64-5.0.14.1.zip

直接下载https://github.com/tporadowski/redis/releases/download/v5.0.14.1/Redis-x64-5.0.14.1.zip


2.2 安装

  1. 解压到:F:\xiaoxia-infrastructure\Redis\
  2. 目录结构:
    F:\xiaoxia-infrastructure\Redis\
    ├── redis-server.exe
    ├── redis-cli.exe
    └── redis.windows.conf
    

2.3 启动

方式 1:临时启动(推荐用于测试)

cd F:\xiaoxia-infrastructure\Redis
.\redis-server.exe

方式 2:安装为 Windows 服务

cd F:\xiaoxia-infrastructure\Redis
.\redis-server.exe --service-install redis.windows.conf --service-name RedisService
.\redis-server.exe --service-start

2.4 验证

cd F:\xiaoxia-infrastructure\Redis
.\redis-cli.exe ping

预期输出PONG


三、安装 MinIO

3.1 下载

官方下载https://dl.min.io/server/minio/release/windows-amd64/minio.exe

直接下载

# 使用 PowerShell 下载
Invoke-WebRequest -Uri "https://dl.min.io/server/minio/release/windows-amd64/minio.exe" -OutFile "F:\xiaoxia-infrastructure\MinIO\minio.exe"

3.2 配置

创建数据目录:

mkdir F:\xiaoxia-infrastructure\MinIO\data

3.3 启动

cd F:\xiaoxia-infrastructure\MinIO

# 设置访问密钥
$env:MINIO_ROOT_USER="minioadmin"
$env:MINIO_ROOT_PASSWORD="minioadmin"

# 启动 MinIO
.\minio.exe server .\data --console-address ":9001"

重要


3.4 验证

浏览器访问http://localhost:9001

登录

  • 用户名:minioadmin
  • 密码:minioadmin

四、快速安装脚本

创建一个一键安装脚本(可选)

# install-infrastructure.ps1

# 创建目录
New-Item -ItemType Directory -Force -Path "F:\xiaoxia-infrastructure\PostgreSQL"
New-Item -ItemType Directory -Force -Path "F:\xiaoxia-infrastructure\Redis"
New-Item -ItemType Directory -Force -Path "F:\xiaoxia-infrastructure\MinIO\data"

Write-Host "目录创建完成!"
Write-Host ""
Write-Host "接下来请手动完成:"
Write-Host "1. 下载并安装 PostgreSQL 到 F:\xiaoxia-infrastructure\PostgreSQL\16"
Write-Host "2. 下载并解压 Redis 到 F:\xiaoxia-infrastructure\Redis\"
Write-Host "3. 下载 MinIO 到 F:\xiaoxia-infrastructure\MinIO\"
Write-Host ""
Write-Host "下载链接已保存在文档中。"

五、启动脚本

创建统一启动脚本

start-infrastructure.ps1

# 小虾 SaaS 基础设施启动脚本

Write-Host "=== 启动小虾 SaaS 基础设施 ===" -ForegroundColor Green

# 1. 检查并启动 PostgreSQL
Write-Host "`n[1/3] 检查 PostgreSQL..." -ForegroundColor Yellow
$pgService = Get-Service -Name "postgresql-x64-16" -ErrorAction SilentlyContinue
if ($pgService) {
    if ($pgService.Status -ne "Running") {
        Start-Service "postgresql-x64-16"
        Write-Host "PostgreSQL 已启动" -ForegroundColor Green
    } else {
        Write-Host "PostgreSQL 已在运行" -ForegroundColor Green
    }
} else {
    Write-Host "警告:PostgreSQL 服务未找到,请手动启动" -ForegroundColor Red
}

# 2. 启动 Redis
Write-Host "`n[2/3] 启动 Redis..." -ForegroundColor Yellow
$redisPath = "F:\xiaoxia-infrastructure\Redis\redis-server.exe"
if (Test-Path $redisPath) {
    Start-Process -FilePath $redisPath -WindowStyle Minimized
    Write-Host "Redis 已启动" -ForegroundColor Green
} else {
    Write-Host "警告:Redis 未找到,请检查路径" -ForegroundColor Red
}

# 3. 启动 MinIO
Write-Host "`n[3/3] 启动 MinIO..." -ForegroundColor Yellow
$minioPath = "F:\xiaoxia-infrastructure\MinIO\minio.exe"
if (Test-Path $minioPath) {
    $env:MINIO_ROOT_USER = "minioadmin"
    $env:MINIO_ROOT_PASSWORD = "minioadmin"
    Start-Process -FilePath $minioPath -ArgumentList "server","F:\xiaoxia-infrastructure\MinIO\data","--console-address",":9001" -WindowStyle Minimized
    Write-Host "MinIO 已启动" -ForegroundColor Green
    Write-Host "MinIO 控制台: http://localhost:9001" -ForegroundColor Cyan
} else {
    Write-Host "警告:MinIO 未找到,请检查路径" -ForegroundColor Red
}

Write-Host "`n=== 基础设施启动完成 ===" -ForegroundColor Green
Write-Host "`n服务地址:"
Write-Host "  PostgreSQL: localhost:5432"
Write-Host "  Redis:      localhost:6379"
Write-Host "  MinIO API:  localhost:9000"
Write-Host "  MinIO UI:   http://localhost:9001"

六、停止脚本

stop-infrastructure.ps1

# 小虾 SaaS 基础设施停止脚本

Write-Host "=== 停止小虾 SaaS 基础设施 ===" -ForegroundColor Yellow

# 停止 Redis
Get-Process -Name "redis-server" -ErrorAction SilentlyContinue | Stop-Process -Force
Write-Host "Redis 已停止" -ForegroundColor Green

# 停止 MinIO
Get-Process -Name "minio" -ErrorAction SilentlyContinue | Stop-Process -Force
Write-Host "MinIO 已停止" -ForegroundColor Green

# PostgreSQL(通常作为服务运行,不停止)
Write-Host "PostgreSQL 保持运行(系统服务)" -ForegroundColor Cyan

Write-Host "`n=== 基础设施已停止 ===" -ForegroundColor Green

七、环境变量更新

安装完成后,更新 .env.development

# 数据库
DATABASE_URL=postgresql://xiaoxia:xiaoxia2026@localhost:5432/xiaoxia_saas
USE_IN_MEMORY_DB=false

# Redis
REDIS_URL=redis://localhost:6379/0
CELERY_BROKER_URL=redis://localhost:6379/1
CELERY_RESULT_BACKEND=redis://localhost:6379/2

# MinIO
OSS_ENDPOINT=localhost:9000
OSS_ACCESS_KEY_ID=minioadmin
OSS_ACCESS_KEY_SECRET=minioadmin
OSS_BUCKET_NAME=xiaoxia-saas
OSS_SECURE=false
OSS_PUBLIC_URL=http://localhost:9000

# JWT
JWT_SECRET_KEY=xiaoxia-dev-secret-key-please-change-in-production-min-32-chars
JWT_ALGORITHM=HS256
JWT_ACCESS_TOKEN_EXPIRE_MINUTES=30

八、验证清单

安装完成后,执行验证:

# PostgreSQL
psql -h localhost -U xiaoxia -d xiaoxia_saas -c "SELECT version();"

# Redis
cd F:\xiaoxia-infrastructure\Redis
.\redis-cli.exe ping

# MinIO
# 浏览器访问 http://localhost:9001

准备好后,运行 start-infrastructure.ps1 启动所有服务!