4.5 KiB
4.5 KiB
ZJPB v2.6.0 快速部署指南
版本: v2.6.0 部署时间: 2026-02-06 重要性: ⚠️ 高(成本优化,建议立即部署)
📋 更新内容
主要改进
✅ 成本优化: API调用减少90%+,大幅降低博查API费用 ✅ 安全防护: 添加频率限制和验证码防护,防止滥用 ✅ 文档整合: 清理根目录,文档归档到docs/目录
技术变更
- 移除详情页自动调用博查API
- 改为用户点击按钮按需加载
- 新增频率限制(每IP每小时3次)
- 新增验证码防护机制
🚀 快速部署 (5分钟)
方式一:通过1Panel + Git
-
SSH连接服务器
ssh root@server.zjpb.net -
进入项目目录
cd /opt/1panel/apps/zjpb -
拉取最新代码
git pull origin master -
安装新依赖
source venv/bin/activate pip install Flask-Limiter==3.5.0 # 或 pip install -r requirements.txt -
重启应用
-
方式A: 通过1Panel Web界面
- 登录1Panel → 找到zjpb应用 → 点击"重启"
-
方式B: 通过命令行
supervisorctl restart zjpb # 或 systemctl restart zjpb
-
-
验证部署
- 访问任意工具详情页
- 确认页面加载快了(不再自动调用API)
- 点击"加载资讯"按钮,确认能正常获取新闻
✅ 部署验证清单
功能验证
- 详情页正常打开,速度更快
- 新闻区域显示占位提示或已有新闻
- 点击"加载资讯"按钮能正常加载
- 加载后新闻正常显示
- 连续点击4次,出现频率限制提示
错误检查
# 查看应用日志
tail -f logs/error.log
# 确认无报错
# 正常情况应该看到类似日志:
# "Rate limit triggered: 192.168.x.x" (频率限制触发)
性能对比
部署前: 打开详情页加载时间 2-3秒(调用API) 部署后: 打开详情页加载时间 0.5-1秒(无API调用)
⚙️ 可选配置
调整频率限制(可选)
编辑 app.py:193 附近:
# 更宽松:每小时5次
is_limited, remaining, reset_time = limiter.is_rate_limited(
client_ip,
limit=5, # 改为5
window_minutes=60
)
# 更严格:每30分钟2次
is_limited, remaining, reset_time = limiter.is_rate_limited(
client_ip,
limit=2, # 改为2
window_minutes=30 # 改为30
)
修改后需要重启应用。
配置验证码(推荐)
当前状态: 使用简单验证(开发模式) 生产建议: 配置Google reCAPTCHA或hCaptcha
详见:docs/archive/DEVELOP_v2.6.0_API_SECURITY.md
🐛 故障排查
问题1: 点击按钮没反应
检查:
# 查看浏览器控制台是否有JavaScript错误
# 查看后端日志
tail -f logs/error.log
解决: 确认 utils/rate_limiter.py 文件存在
问题2: 提示"博查API未配置"
检查:
cat .env | grep BOCHA_API_KEY
解决: 确认 .env 中有 BOCHA_API_KEY=xxx
问题3: 导入错误 "No module named 'utils.rate_limiter'"
解决:
# 确认文件存在
ls utils/rate_limiter.py
# 如果不存在,手动创建或从Git拉取
git checkout utils/rate_limiter.py
📊 成本对比
假设场景: 日均1000次详情页访问
| 版本 | 自动调用 | 手动加载 | 总调用 | 日成本 | 月成本 |
|---|---|---|---|---|---|
| v2.5 | 1000次 | 0次 | 1000次 | ¥10 | ¥300 |
| v2.6 | 0次 | ~50次 | 50次 | ¥0.5 | ¥15 |
节省: 每月约 ¥285 💰
🔄 回滚方案
如果部署后出现问题,可以快速回滚:
cd /opt/1panel/apps/zjpb
# 回滚到v2.5
git reset --hard e71230c
# 重启应用
supervisorctl restart zjpb
📚 相关文档
- 完整开发文档:
docs/archive/DEVELOP_v2.6.0_API_SECURITY.md - 文档索引:
docs/README.md - 部署信息:
DEPLOY_INFO.md
💡 下一步建议
立即执行
✅ 部署v2.6.0(成本优化) ✅ 验证功能正常
1周内执行
- 配置Redis存储(持久化频率限制数据)
- 配置生产环境验证码服务
- 监控API调用量变化
1个月内执行
- 添加API调用统计面板
- 优化验证码用户体验
- 实现白名单机制
部署时间: < 5分钟 风险等级: 低(可快速回滚) 收益: 成本优化90%+ 🎉
最后更新: 2026-02-06