## 核心优化 - 移除详情页自动调用博查API的逻辑,改为按需加载 - 添加基于IP的频率限制(每小时3次) - 实现验证码防护机制(超过阈值后要求验证) - 新增频率限制工具类 utils/rate_limiter.py ## 成本控制 - API调用减少约90%+(只在用户点击时调用) - 防止恶意滥用和攻击 - 可配置的频率限制和验证码策略 ## 文档整合 - 创建 docs/ 目录结构 - 归档历史版本文档到 docs/archive/ - 移动部署文档到 docs/deployment/ - 添加文档索引 docs/README.md ## 技术变更 - 新增依赖: Flask-Limiter==3.5.0 - 修改: app.py (移除自动调用,新增API端点) - 修改: templates/detail_new.html (按需加载UI) - 新增: utils/rate_limiter.py (频率限制和验证码) - 新增: docs/archive/DEVELOP_v2.6.0_API_SECURITY.md ## 部署说明 1. pip install Flask-Limiter==3.5.0 2. 重启应用 3. 无需数据库迁移 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
3.1 KiB
3.1 KiB
📦 1Panel部署打包清单
部署前请确保以下文件都已准备好:
✅ 必需文件
应用文件
- app.py - 主应用文件
- wsgi.py - WSGI入口(生产环境)
- config.py - 配置文件
- models.py - 数据模型
- init_db.py - 数据库初始化脚本
- requirements.txt - Python依赖列表
配置文件
- gunicorn_config.py - Gunicorn配置
- .env.example - 环境变量模板
- .env - 生产环境变量(需在服务器上创建)
部署脚本
- deploy.sh - 一键部署脚本
- manage.sh - 应用管理脚本
文档
- DEPLOYMENT.md - 完整部署文档
- QUICK_DEPLOY.md - 快速部署指南
- README.md - 项目说明
目录结构
zjpb/
├── static/ # 静态文件
│ ├── css/
│ ├── js/
│ └── uploads/ # 上传文件目录
├── templates/ # 模板文件
│ ├── admin/
│ └── *.html
├── utils/ # 工具类
│ ├── website_fetcher.py
│ ├── tag_generator.py
│ └── bookmark_parser.py
├── migrations/ # 数据库迁移脚本
├── logs/ # 日志目录(自动创建)
└── venv/ # 虚拟环境(服务器上创建)
🚫 排除文件(不要上传到服务器)
__pycache__/- Python缓存*.pyc- 编译的Python文件.git/- Git仓库.env- 本地环境变量venv/env/- 虚拟环境test_*.py- 测试文件*.log- 日志文件logs/- 日志目录static/uploads/*- 上传的文件
📋 部署前检查清单
本地准备
- 更新 requirements.txt
- 测试应用运行正常
- 准备 .env.example 模板
- 压缩项目文件
服务器准备
- 1Panel已安装
- MySQL数据库已创建
- 域名已解析(可选)
- SSH访问权限
部署步骤
- 上传项目文件到服务器
- 解压并设置目录权限
- 执行 deploy.sh 脚本
- 配置 .env 文件
- 初始化数据库
- 在1Panel中创建网站(反向代理)
- 启动应用
- 配置SSL证书(可选)
部署后验证
- 前台页面访问正常
- 后台登录成功
- 修改默认管理员密码
- 测试网站添加功能
- 测试标签创建功能
- 测试图片上传功能
🔐 安全检查
- 修改默认管理员密码
- 设置强密码的 SECRET_KEY
- 配置 .env 权限(chmod 600)
- 启用 SSL/HTTPS
- 配置防火墙规则
- 定期备份数据库
📝 压缩命令
Windows PowerShell:
Compress-Archive -Path * -DestinationPath zjpb.zip -Force
Linux/Mac:
zip -r zjpb.zip . -x "*.pyc" "*__pycache__*" "*.git*" ".env" "venv/*" "test_*.py" "logs/*"
🎯 快速部署(服务器上)
# 1. 上传并解压
cd /www/wwwroot/zjpb
unzip zjpb.zip
# 2. 一键部署
chmod +x deploy.sh
./deploy.sh
# 3. 配置环境变量
nano .env
# 4. 启动应用
chmod +x manage.sh
./manage.sh start
详细步骤请参考:DEPLOYMENT.md