Files
zjpb.net/DEPLOY_v2.6.0_QUICK.md
2026-02-06 15:54:51 +08:00

4.5 KiB
Raw Blame History

ZJPB v2.6.0 快速部署指南

版本: v2.6.0 部署时间: 2026-02-06 重要性: ⚠️ 高(成本优化,建议立即部署)


📋 更新内容

主要改进

成本优化: API调用减少90%+大幅降低博查API费用 安全防护: 添加频率限制和验证码防护,防止滥用 文档整合: 清理根目录文档归档到docs/目录

技术变更

  • 移除详情页自动调用博查API
  • 改为用户点击按钮按需加载
  • 新增频率限制每IP每小时3次
  • 新增验证码防护机制

🚀 快速部署 (5分钟)

方式一通过1Panel + Git

  1. SSH连接服务器

    ssh root@server.zjpb.net
    
  2. 进入项目目录

    cd /opt/1panel/apps/zjpb
    
  3. 拉取最新代码

    git pull origin master
    
  4. 安装新依赖

    source venv/bin/activate
    pip install Flask-Limiter==3.5.0
    # 或
    pip install -r requirements.txt
    
  5. 重启应用

    • 方式A: 通过1Panel Web界面

      • 登录1Panel → 找到zjpb应用 → 点击"重启"
    • 方式B: 通过命令行

      supervisorctl restart zjpb
      # 或
      systemctl restart zjpb
      
  6. 验证部署

    • 访问任意工具详情页
    • 确认页面加载快了不再自动调用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