auto_trade_sys/DEPLOYMENT.md
薇薇安 8a89592cb5 a
2026-01-13 17:30:59 +08:00

178 lines
3.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 部署指南
## 项目结构
```
auto_trade_sys/
├── backend/ # 后端服务FastAPI
├── frontend/ # 前端应用React
└── [交易系统文件] # 原有交易系统
```
## 1. 数据库初始化
```bash
# 创建数据库
mysql -u root -p < backend/database/init.sql
# 或手动执行
mysql -u root -p
CREATE DATABASE auto_trade_sys;
USE auto_trade_sys;
source backend/database/init.sql;
```
## 2. 后端部署
```bash
cd backend
# 安装依赖
pip install -r requirements.txt
# 设置环境变量
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://your-domain.com
# 初始化配置从config.py迁移到数据库
python init_config.py
# 启动服务
uvicorn api.main:app --host 0.0.0.0 --port 8000
# 或使用supervisor生产环境
# 创建 /etc/supervisor/conf.d/auto_trade_api.conf
```
### Supervisor配置后端
```ini
[program:auto_trade_api]
command=/www/wwwroot/auto_trade_sys/backend/.venv/bin/uvicorn api.main:app --host 0.0.0.0 --port 8000
directory=/www/wwwroot/auto_trade_sys/backend
user=www
autostart=true
autorestart=true
startretries=3
startsecs=10
redirect_stderr=true
stdout_logfile=/www/wwwroot/auto_trade_sys/backend/logs/api.log
environment=
DB_HOST="localhost",
DB_PORT="3306",
DB_USER="root",
DB_PASSWORD="your_password",
DB_NAME="auto_trade_sys"
```
## 3. 前端部署
### 开发环境
```bash
cd frontend
npm install
npm run dev
```
### 生产环境
```bash
cd frontend
npm install
npm run build
# 使用nginx部署
# 将dist目录内容复制到nginx目录
cp -r dist/* /usr/share/nginx/html/
```
### Nginx配置
```nginx
server {
listen 80;
server_name your-domain.com;
root /usr/share/nginx/html;
index index.html;
# 前端路由
location / {
try_files $uri $uri/ /index.html;
}
# API代理
location /api {
proxy_pass http://localhost:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
```
## 4. 交易系统部署
交易系统需要从数据库读取配置,修改 `config.py`
```python
# 在config.py开头添加
try:
import sys
from pathlib import Path
sys.path.insert(0, str(Path(__file__).parent / 'backend'))
from config_manager import get_trading_config
TRADING_CONFIG = get_trading_config()
except:
# 回退到原有配置
TRADING_CONFIG = {
# ... 原有配置 ...
}
```
## 5. 环境变量配置
### 后端环境变量
```bash
# .env 文件backend/.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://your-domain.com
```
### 前端环境变量
```bash
# .env 文件frontend/.env
VITE_API_URL=http://localhost:8000
```
## 6. 启动顺序
1. 启动MySQL数据库
2. 启动后端API服务
3. 启动前端应用(开发)或部署前端(生产)
4. 启动交易系统
## 7. 验证
- 后端API: http://localhost:8000/docs
- 前端应用: http://localhost:3000
- 健康检查: http://localhost:8000/api/health
## 8. 数据记录
交易系统需要集成数据记录功能,在以下位置添加:
- `position_manager.py`: 开仓/平仓时记录到数据库
- `strategy.py`: 扫描和信号记录
- `main.py`: 账户快照记录