| .. | ||
| api | ||
| database | ||
| security | ||
| config_manager.py | ||
| ENV_SETUP.md | ||
| fix_config_category.sql | ||
| init_config.py | ||
| NGINX_CONFIG.md | ||
| README.md | ||
| requirements.txt | ||
| restart.sh | ||
| start_dev.sh | ||
| start.sh | ||
后端服务 (Backend)
币安自动交易系统后端API服务
功能
- 配置管理API(从数据库读取/更新配置)
- 交易记录API
- 统计分析API
- 仪表板数据API
安装
cd backend
pip install -r requirements.txt
数据库配置
方式1:使用.env文件(推荐)
在 backend/ 目录或项目根目录创建 .env 文件:
# 复制示例文件
cp .env.example .env
# 编辑.env文件
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=your_password
DB_NAME=auto_trade_sys
CORS_ORIGINS=http://localhost:3000,http://localhost:5173
方式2:使用环境变量
export DB_HOST=localhost
export DB_PORT=3306
export DB_USER=root
export DB_PASSWORD=your_password
export DB_NAME=auto_trade_sys
export CORS_ORIGINS=http://localhost:3000,http://localhost:5173
注意:系统会优先从 .env 文件读取配置,然后才是环境变量。
初始化数据库
mysql -u root -p < database/init.sql
运行
开发模式(自动重载)
代码修改后会自动重启,无需手动重启:
# 方式1:使用开发启动脚本
./start_dev.sh
# 方式2:直接运行
uvicorn api.main:app --reload --host 0.0.0.0 --port 8001
生产模式
代码修改后需要手动重启:
# 方式1:使用生产启动脚本
./start.sh
# 方式2:使用重启脚本
./restart.sh
# 方式3:手动重启
# 1. 查找进程: ps aux | grep uvicorn
# 2. 停止服务: kill <PID>
# 3. 启动服务: ./start.sh
注意:
- 开发模式使用
--reload参数,代码修改后自动重启 - 生产模式不使用
--reload,需要手动重启才能生效 - 重启脚本
restart.sh会自动查找并重启服务
API文档
启动后访问:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
目录结构
backend/
├── api/ # FastAPI应用
│ ├── main.py # 应用入口
│ ├── routes/ # 路由
│ └── models/ # API模型
├── database/ # 数据库
│ ├── connection.py
│ ├── models.py
│ └── init.sql
├── config_manager.py # 配置管理器
└── requirements.txt