- 新增 charts/news_reports.php 报告查询导航页(列表+详情一体,fetch API 渲染) - 新增 js/newsReports.js:AI 摘要/新闻联播/财经新闻/公告调研/数据总览固定模块,stats 归一化兼容多种格式 - index-2.php 研究报告卡片改为导航链接,移除 PHP 目录下拉框 - 更新 AGENTS.md/CLAUDE.md(路径、页面清单、数据模式等核实修正) - 同步服务器拉取的文档:quant 使用手册、podcast-docs - 生成 continuation.md 会话检查点
3.0 KiB
3.0 KiB
部署文档
当前部署环境: doorcome.cn (Debian 12)
服务器要求
| 组件 | 版本 | 用途 |
|---|---|---|
| Python | 3.11+ | Django + Celery |
| MySQL/MariaDB | 10.11+ | 数据存储 |
| Redis | 6+ | Celery Broker |
| Nginx | — | 反向代理 |
| Node.js | 18+ | 前端 |
目录结构
/home/simon/myquant/django/podcast/ # 后端代码
├── venv/ # Python 虚拟环境
├── staticfiles/ # Django 静态文件
├── data/audios/ # 音频文件
├── logs/ # 日志
└── frontend/ # 前端代码
└── .next/ # 前端构建产物
systemd 服务
| 服务 | 端口 | 说明 |
|---|---|---|
podcast-gunicorn |
8001 | Django API |
podcast-celery |
— | AI 处理 Worker |
podcast-frontend |
3000 | Next.js 前端 |
管理命令
sudo systemctl status podcast-gunicorn
sudo systemctl restart podcast-celery
sudo journalctl -u podcast-frontend -n 50 -f
Nginx 路由
| 路径 | 后端 |
|---|---|
/api/ |
127.0.0.1:8001 (Django) |
/admin/ |
127.0.0.1:8001 (Django) |
/static/ |
Django 静态文件 |
/media/ |
音频文件 |
/podcast/ |
127.0.0.1:3000 (Next.js) |
首次部署
# 1. 同步代码
rsync -avz --delete --exclude='node_modules' --exclude='__pycache__' \
--exclude='.env' --exclude='venv' --exclude='.next' \
./ doorcome:/home/simon/myquant/django/podcast/
# 2. 安装依赖
ssh doorcome
cd /home/simon/myquant/django/podcast
source venv/bin/activate
pip install -r requirements.txt
# 3. 配置环境变量
vi .env # 填入数据库连接、API Key 等
# 4. 数据库迁移
python manage.py migrate
python manage.py collectstatic --noinput
python manage.py createsuperuser
# 5. 启动服务
sudo systemctl start podcast-gunicorn
sudo systemctl start podcast-celery
sudo systemctl start podcast-frontend
# 6. 配置 Nginx
# 编辑 /etc/nginx/sites-enabled/default 添加反向代理配置
sudo nginx -t && sudo systemctl reload nginx
更新部署
# 本地同步代码
rsync -avz --delete --exclude={node_modules,__pycache__,.env,venv,.next,db.sqlite3} \
./ doorcome:/home/simon/myquant/django/podcast/
# 远程执行
ssh doorcome "
cd /home/simon/myquant/django/podcast
source venv/bin/activate
pip install -r requirements.txt -q
python manage.py migrate
python manage.py collectstatic --noinput
sudo systemctl restart podcast-gunicorn podcast-celery
cd frontend
npm install -q
npm run build
sudo systemctl restart podcast-frontend
"
配置项
参见 /home/simon/myquant/django/podcast/.env:
| 配置项 | 说明 |
|---|---|
DEBUG |
生产环境设为 False |
ALLOWED_HOSTS |
允许的域名 |
DB_* |
MySQL 连接信息 |
REDIS_URL |
Redis 连接 |
DASHSCOPE_API_KEY |
千问 ASR API Key |
DEEPSEEK_API_KEY |
DeepSeek API Key |
DEV_MOCK_ASR |
0=真实 ASR, 1=Mock(开发用) |