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

3.4 KiB
Raw Blame History

部署指南

项目结构

auto_trade_sys/
├── backend/          # 后端服务FastAPI
├── frontend/         # 前端应用React
└── [交易系统文件]    # 原有交易系统

1. 数据库初始化

# 创建数据库
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. 后端部署

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配置后端

[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. 前端部署

开发环境

cd frontend
npm install
npm run dev

生产环境

cd frontend
npm install
npm run build

# 使用nginx部署
# 将dist目录内容复制到nginx目录
cp -r dist/* /usr/share/nginx/html/

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

# 在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. 环境变量配置

后端环境变量

# .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

前端环境变量

# .env 文件frontend/.env
VITE_API_URL=http://localhost:8000

6. 启动顺序

  1. 启动MySQL数据库
  2. 启动后端API服务
  3. 启动前端应用(开发)或部署前端(生产)
  4. 启动交易系统

7. 验证

8. 数据记录

交易系统需要集成数据记录功能,在以下位置添加:

  • position_manager.py: 开仓/平仓时记录到数据库
  • strategy.py: 扫描和信号记录
  • main.py: 账户快照记录