From 659e996627bd83f9c4d979184dcc51b8c5af5c95 Mon Sep 17 00:00:00 2001 From: Jowe <123822645+Selei1983@users.noreply.github.com> Date: Fri, 6 Feb 2026 15:54:51 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=B7=BB=E5=8A=A0v2.6.0=E5=BF=AB?= =?UTF-8?q?=E9=80=9F=E9=83=A8=E7=BD=B2=E6=8C=87=E5=8D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DEPLOY_v2.6.0_QUICK.md | 223 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 223 insertions(+) create mode 100644 DEPLOY_v2.6.0_QUICK.md diff --git a/DEPLOY_v2.6.0_QUICK.md b/DEPLOY_v2.6.0_QUICK.md new file mode 100644 index 0000000..520fa9b --- /dev/null +++ b/DEPLOY_v2.6.0_QUICK.md @@ -0,0 +1,223 @@ +# ZJPB v2.6.0 快速部署指南 + +**版本**: v2.6.0 +**部署时间**: 2026-02-06 +**重要性**: ⚠️ 高(成本优化,建议立即部署) + +--- + +## 📋 更新内容 + +### 主要改进 +✅ **成本优化**: API调用减少90%+,大幅降低博查API费用 +✅ **安全防护**: 添加频率限制和验证码防护,防止滥用 +✅ **文档整合**: 清理根目录,文档归档到docs/目录 + +### 技术变更 +- 移除详情页自动调用博查API +- 改为用户点击按钮按需加载 +- 新增频率限制(每IP每小时3次) +- 新增验证码防护机制 + +--- + +## 🚀 快速部署 (5分钟) + +### 方式一:通过1Panel + Git + +1. **SSH连接服务器** + ```bash + ssh root@server.zjpb.net + ``` + +2. **进入项目目录** + ```bash + cd /opt/1panel/apps/zjpb + ``` + +3. **拉取最新代码** + ```bash + git pull origin master + ``` + +4. **安装新依赖** + ```bash + source venv/bin/activate + pip install Flask-Limiter==3.5.0 + # 或 + pip install -r requirements.txt + ``` + +5. **重启应用** + - **方式A**: 通过1Panel Web界面 + - 登录1Panel → 找到zjpb应用 → 点击"重启" + + - **方式B**: 通过命令行 + ```bash + supervisorctl restart zjpb + # 或 + systemctl restart zjpb + ``` + +6. **验证部署** + - 访问任意工具详情页 + - 确认页面加载快了(不再自动调用API) + - 点击"加载资讯"按钮,确认能正常获取新闻 + +--- + +## ✅ 部署验证清单 + +### 功能验证 +- [ ] 详情页正常打开,速度更快 +- [ ] 新闻区域显示占位提示或已有新闻 +- [ ] 点击"加载资讯"按钮能正常加载 +- [ ] 加载后新闻正常显示 +- [ ] 连续点击4次,出现频率限制提示 + +### 错误检查 +```bash +# 查看应用日志 +tail -f logs/error.log + +# 确认无报错 +# 正常情况应该看到类似日志: +# "Rate limit triggered: 192.168.x.x" (频率限制触发) +``` + +### 性能对比 +**部署前**: 打开详情页加载时间 2-3秒(调用API) +**部署后**: 打开详情页加载时间 0.5-1秒(无API调用) + +--- + +## ⚙️ 可选配置 + +### 调整频率限制(可选) + +编辑 `app.py:193` 附近: + +```python +# 更宽松:每小时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: 点击按钮没反应 + +**检查**: +```bash +# 查看浏览器控制台是否有JavaScript错误 +# 查看后端日志 +tail -f logs/error.log +``` + +**解决**: 确认 `utils/rate_limiter.py` 文件存在 + +### 问题2: 提示"博查API未配置" + +**检查**: +```bash +cat .env | grep BOCHA_API_KEY +``` + +**解决**: 确认 `.env` 中有 `BOCHA_API_KEY=xxx` + +### 问题3: 导入错误 "No module named 'utils.rate_limiter'" + +**解决**: +```bash +# 确认文件存在 +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 💰 + +--- + +## 🔄 回滚方案 + +如果部署后出现问题,可以快速回滚: + +```bash +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