#!/bin/bash # 生产环境启动脚本 cd "$(dirname "$0")" # 激活虚拟环境 if [ -d "../.venv" ]; then source ../.venv/bin/activate elif [ -d ".venv" ]; then source .venv/bin/activate else echo "错误: 找不到虚拟环境" exit 1 fi # 设置环境变量 export DB_HOST=${DB_HOST:-deepx2025.cb6swsyucgro.ap-east-1.rds.amazonaws.com} export DB_PORT=${DB_PORT:-3306} export DB_USER=${DB_USER:-autosys} export DB_PASSWORD=${DB_PASSWORD:-as2025} export DB_NAME=${DB_NAME:-auto_trade_sys} export CORS_ORIGINS=${CORS_ORIGINS:-http://localhost:3000,http://localhost:5173} # 创建日志目录 mkdir -p logs # 设置日志级别(如果未设置) export LOG_LEVEL=${LOG_LEVEL:-INFO} # 启动服务(后台运行) # 注意:Python日志会输出到 logs/api.log,uvicorn的访问日志也会输出到同一个文件 # 生产模式:代码修改后需要手动重启服务 # 开发模式:使用 start_dev.sh(带 --reload 参数,代码修改后自动重启) nohup uvicorn api.main:app --host 0.0.0.0 --port 8001 --log-level info > logs/uvicorn.log 2>&1 & PID=$! echo "后端服务已启动,PID: $PID" echo "Python日志文件: logs/api.log" echo "Uvicorn日志文件: logs/uvicorn.log" echo "查看日志: tail -f logs/api.log" echo "" echo "提示:" echo " - 代码修改后需要重启服务才能生效" echo " - 重启服务: kill $PID && ./start.sh" echo " - 或使用开发模式: ./start_dev.sh (自动重载)"