You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

198 lines
3.5 KiB

# 后端启动指南
## 环境要求
- Node.js 20.x LTS
- MySQL 8.0+
- Redis 7.x (可选,未安装时会自动使用内存缓存)
## 快速启动步骤
### 1. 安装依赖
```bash
cd app/backend
npm install
```
### 2. 数据库配置(已配置)
数据库连接信息已配置在 `.env` 文件中:
```env
DATABASE_URL=mysql://root:1qazse42W3@192.168.0.222:3306/aguzhitou
```
**注意**:这是测试数据库连接,数据库和表结构已创建完成。
### 3. 生成 Prisma Client
```bash
npx prisma generate
```
### 4. 启动开发服务器
```bash
npm run dev
```
服务器将在 http://localhost:3000 启动
## 验证启动
### 1. 健康检查接口
```bash
curl http://localhost:3000/api/v1/health
```
预期响应:
```json
{
"code": 200,
"message": "success",
"data": {
"status": "healthy",
"timestamp": "2024-01-15T10:00:00.000Z"
}
}
```
### 2. 测试市场数据接口
```bash
curl http://localhost:3000/api/v1/market/indices
```
## 常见问题
### 问题1数据库连接失败
**错误信息**
```
Database connection failed: Error: Can't reach database server
```
**解决方案**
1. 确认数据库服务器 192.168.0.222:3306 可访问
2. 检查用户名密码是否正确
3. 确认数据库 `aguzhitou` 已创建
**测试连接**
```bash
mysql -h 192.168.0.222 -P 3306 -u root -p -e "SHOW DATABASES;"
# 密码1qazse42W3
```
### 问题2Redis 连接失败
**错误信息**
```
Redis connection failed
```
**解决方案**
- 这是可选依赖,应用会自动降级到内存缓存
- 如需使用 Redis请安装并启动 Redis 服务:
```bash
# Docker 方式
docker run -d -p 6379:6379 redis:7-alpine
```
### 问题3端口被占用
**错误信息**
```
Error: listen EADDRINUSE: address already in use :::3000
```
**解决方案**
```bash
# 查看占用进程
lsof -i :3000
# 或修改 .env 中的端口
PORT=3001
```
### 问题4Prisma Client 未生成
**错误信息**
```
Error: @prisma/client did not initialize yet
```
**解决方案**
```bash
npx prisma generate
```
## 目录结构
```
app/backend/
├── src/
│ ├── config/ # 配置文件
│ │ ├── database.ts # 数据库连接
│ │ ├── redis.ts # Redis连接带降级
│ │ └── index.ts # 环境变量配置
│ ├── controllers/ # 控制器
│ ├── services/ # 业务逻辑
│ ├── routes/ # 路由
│ ├── middleware/ # 中间件
│ ├── utils/ # 工具函数
│ ├── websocket/ # WebSocket服务
│ ├── jobs/ # 定时任务
│ └── app.ts # 应用入口
├── prisma/
│ └── schema.prisma # 数据库模型
├── .env # 环境变量(已配置)
└── package.json
```
## API 文档
启动后访问http://localhost:3000/api/v1/health
详细 API 文档:`app/docs/04-API接口文档.md`
## 生产环境部署
### 1. 构建
```bash
npm run build
```
### 2. 启动生产服务
```bash
npm start
```
### 3. Docker 部署
```bash
docker-compose up -d
```
## 日志查看
日志文件位置:`./logs/`
```bash
# 实时查看日志
tail -f logs/combined-$(date +%Y-%m-%d).log
# 查看错误日志
tail -f logs/error-$(date +%Y-%m-%d).log
```
## 联系支持
如有问题,请检查:
1. 数据库连接配置
2. 日志文件中的错误信息
3. 确保所有依赖已正确安装