- 所有代码改动已提交到 GitHub
- 权限控制功能已实现(用户只能访问自己的命书)
- 起卦界面跳转问题已修复
- 代码清理完成(删除无用文档和代码)
创建 .env 文件,包含以下必需的环境变量:
# AI API Keys(必需)
COMPASS_API_KEY=你的compass_api_key
# 或
DEEPSEEK_API_KEY=你的deepseek_api_key
# CORS 配置(必需)
ALLOWED_ORIGINS=https://你的前端域名.com,https://另一个域名.com
# 数据库配置(可选,默认使用 SQLite)
DATABASE_URL=sqlite:///./fortune_app.db
# 或 PostgreSQL(生产环境推荐)
# DATABASE_URL=postgresql://user:password@localhost:5432/fortune_app
# 环境标识(可选)
ENV=production# 安装 Python 依赖
pip install -r requirements.txt数据库会在首次运行时自动创建,无需手动初始化。
参考文档:VM_DEPLOY.md
快速部署:
# 1. 克隆代码
git clone https://github.com/Judyzj/fortune-app.git
cd fortune-app
# 2. 运行部署脚本
chmod +x deploy.sh
./deploy.sh
# 3. 编辑环境变量
nano .env
# 4. 重启服务
sudo systemctl restart fortune-app或使用 Docker:
docker build -t fortune-app .
docker run -d -p 8000:8000 \
-e COMPASS_API_KEY=你的key \
-e ALLOWED_ORIGINS=https://你的域名.com \
--name fortune-app \
--restart always \
fortune-app- Render: 参考
RENDER_BASIC_CONFIG.md - Fly.io: 参考
FLYIO_DEPLOY.md - Railway: 参考
RAILWAY_DEPLOY.md - 其他选项: 参考
FREE_DEPLOY_OPTIONS.md
- 在 Vercel 中导入 GitHub 仓库
- 设置 Root Directory 为
frontend - 配置环境变量:
VITE_API_BASE_URL=https://你的后端域名.com - 部署
cd frontend
npm install
npm run build
# 将 dist 目录部署到静态服务器curl http://你的后端域名:8000/health应该返回:
{"status": "ok"}curl -X POST http://你的后端域名:8000/api/calculate \
-H "Content-Type: application/json" \
-d '{
"name": "测试",
"gender": "male",
"birth_date": "1990-01-01",
"birth_time": "12:00",
"lat": 39.9042,
"lng": 116.4074,
"city": "北京"
}'- 打开前端页面
- 尝试创建命理
- 检查浏览器控制台是否有错误
- 确认 API 调用成功
- CORS 白名单:设置
ALLOWED_ORIGINS,不要使用* - API Key 保护:确保 API Key 不会泄露到前端代码
- HTTPS:使用 HTTPS 保护数据传输
- 用户认证:生产环境应实现 JWT 认证(当前为开发模式)
- ✅ 用户只能访问自己创建的命书
- ✅ 所有命书相关接口都有权限验证
⚠️ 生产环境需要实现真正的 JWT 认证
问题:sqlalchemy.exc.OperationalError
解决:
- 检查
DATABASE_URL是否正确 - 确保数据库服务正在运行
- 检查数据库用户权限
问题:Access-Control-Allow-Origin
解决:
- 检查
ALLOWED_ORIGINS环境变量 - 确保前端域名在允许列表中
- 检查后端 CORS 配置
问题:401 Unauthorized 或 API key is invalid
解决:
- 检查 API Key 是否正确设置
- 确认 API Key 有足够的配额
- 检查环境变量是否正确加载
问题:Failed to fetch 或网络错误
解决:
- 检查
VITE_API_BASE_URL是否正确 - 确认后端服务正在运行
- 检查防火墙设置
- 确认 CORS 配置正确
README.md- 项目说明VM_DEPLOY.md- 虚拟机部署指南PERMISSION_CONTROL.md- 权限控制说明DEPLOYMENT_ARCHITECTURE.md- 部署架构说明HOW_TO_CONNECT.md- 前后端连接说明
如果遇到问题:
- 检查日志文件:
backend.log - 查看浏览器控制台错误
- 检查后端日志输出
- 参考相关部署文档
- ✅ 权限控制:用户只能访问自己的命书
- ✅ 修复起卦界面跳转问题
- ✅ 代码清理和优化
- ✅ 添加虚拟机部署支持
最后更新: 2025-01-15