mirror of
https://github.com/Yuyi-Oak/BlueArchiveToolkit.git
synced 2026-07-22 01:46:44 +08:00
176 lines
3.0 KiB
Markdown
176 lines
3.0 KiB
Markdown
# 部署指南
|
||
|
||
## 架构概览
|
||
|
||
BlueArchive Toolkit 支持多种部署模式:
|
||
|
||
1. **本地开发模式**:代码在本地,连接远程数据库
|
||
2. **单机部署**:所有组件运行在一台服务器
|
||
3. **分布式部署**:多实例 API Server + 独立数据库服务器
|
||
|
||
---
|
||
|
||
## 模式 1:本地开发 + 远程数据库
|
||
|
||
适用场景:本地开发,数据库部署在有公网 IP 的远程服务器
|
||
|
||
### 步骤
|
||
|
||
#### 1. 在远程服务器上部署数据库
|
||
|
||
```bash
|
||
# SSH 登录到服务器
|
||
ssh user@your.server.com
|
||
|
||
# 创建部署目录
|
||
mkdir -p ~/bat/deployments
|
||
cd ~/bat/deployments
|
||
|
||
# 上传配置文件(在本地执行)
|
||
scp -r deployments/* user@your.server.com:~/bat/deployments/
|
||
|
||
# 配置环境变量
|
||
cp .env.example .env
|
||
nano .env # 设置强密码
|
||
|
||
# 启动数据库
|
||
docker compose -f docker-compose.remote-db.yml up -d
|
||
|
||
# 查看状态
|
||
docker compose -f docker-compose.remote-db.yml ps
|
||
```
|
||
|
||
#### 2. 配置防火墙
|
||
|
||
```bash
|
||
# 开放 PostgreSQL 端口
|
||
sudo ufw allow 5432/tcp
|
||
|
||
# 开放 Redis 端口
|
||
sudo ufw allow 6379/tcp
|
||
|
||
# 查看状态
|
||
sudo ufw status
|
||
```
|
||
|
||
#### 3. 本地连接配置
|
||
|
||
在本地项目根目录创建 `.env`:
|
||
|
||
```env
|
||
DB_HOST=your.server.ip.address
|
||
DB_PORT=5432
|
||
DB_USER=bat_user
|
||
DB_PASSWORD=your_secure_password
|
||
DB_NAME=bluearchive_toolkit
|
||
|
||
REDIS_HOST=your.server.ip.address
|
||
REDIS_PORT=6379
|
||
REDIS_PASSWORD=your_redis_password
|
||
```
|
||
|
||
#### 4. 测试连接
|
||
|
||
```bash
|
||
# 测试 PostgreSQL 连接
|
||
psql -h your.server.ip.address -U bat_user -d bluearchive_toolkit
|
||
|
||
# 测试 Redis 连接
|
||
redis-cli -h your.server.ip.address -p 6379 -a your_redis_password ping
|
||
```
|
||
|
||
---
|
||
|
||
## 模式 2:本地数据库(开发)
|
||
|
||
适用场景:完全本地开发,不需要远程服务器
|
||
|
||
```bash
|
||
# 启动本地数据库
|
||
docker compose -f deployments/docker-compose.dev.yml --profile local-db up -d
|
||
|
||
# 配置 .env
|
||
DB_HOST=localhost
|
||
DB_PORT=5432
|
||
REDIS_HOST=localhost
|
||
REDIS_PORT=6379
|
||
```
|
||
|
||
---
|
||
|
||
## 模式 3:生产环境部署
|
||
|
||
待补充(Phase 6 实现 API Server 后)
|
||
|
||
---
|
||
|
||
## 数据库备份
|
||
|
||
### 手动备份
|
||
|
||
```bash
|
||
# PostgreSQL
|
||
pg_dump -h your.server.com -U bat_user -d bluearchive_toolkit > backup.sql
|
||
|
||
# Redis
|
||
redis-cli -h your.server.com -p 6379 -a password BGSAVE
|
||
```
|
||
|
||
### 自动备份
|
||
|
||
启动备份服务:
|
||
```bash
|
||
docker compose -f deployments/docker-compose.remote-db.yml --profile backup up -d
|
||
```
|
||
|
||
备份文件位置:`deployments/backups/`
|
||
|
||
---
|
||
|
||
## 监控
|
||
|
||
### 查看日志
|
||
|
||
```bash
|
||
# 数据库日志
|
||
docker logs bat-postgres
|
||
|
||
# Redis 日志
|
||
docker logs bat-redis
|
||
```
|
||
|
||
### 健康检查
|
||
|
||
```bash
|
||
# 检查容器状态
|
||
docker compose -f deployments/docker-compose.remote-db.yml ps
|
||
|
||
# 检查 PostgreSQL
|
||
docker exec bat-postgres pg_isready -U bat_user
|
||
|
||
# 检查 Redis
|
||
docker exec bat-redis redis-cli ping
|
||
```
|
||
|
||
---
|
||
|
||
## 故障排查
|
||
|
||
### 无法连接数据库
|
||
|
||
1. 检查防火墙是否开放端口
|
||
2. 检查 `pg_hba.conf` 配置
|
||
3. 检查密码是否正确
|
||
4. 检查数据库是否启动
|
||
|
||
### 性能问题
|
||
|
||
1. 查看数据库连接数
|
||
2. 检查慢查询日志
|
||
3. 优化索引
|
||
4. 调整数据库参数
|
||
|
||
---
|
||
|
||
更多问题请查看 [故障排查指南](./troubleshooting.md)(待创建)
|