# ZJPB v2.1 手动上传部署指南 ## 📋 需要上传的文件(共10个) ### 核心文件(必须上传) 1. ✅ `app.py` - 新增Prompt管理视图 2. ✅ `models.py` - 新增PromptTemplate模型 3. ✅ `migrate_prompts.py` - 数据库迁移脚本(新文件) ### 模板文件(必须上传) 4. ✅ `templates/base_new.html` - 页脚和统计代码 5. ✅ `templates/detail_new.html` - 图标修复 6. ✅ `templates/admin/site/create.html` - 标签显示修复 7. ✅ `templates/admin/site/edit.html` - 标签显示修复 ### 辅助文件(可选) 8. ⭕ `INCREMENTAL_DEPLOY.md` - 部署文档 9. ⭕ `export_data.py` - 数据导出工具 10. ⭕ `migrate_db.py` - 数据库工具 ### 部署脚本(新增) 11. ✅ `quick_deploy_server.sh` - 服务器端快速部署脚本 --- ## 🚀 部署步骤(使用1Panel文件管理器) ### 第一步:备份生产数据库 1. 登录1Panel管理面板 2. 进入 **数据库** → 找到 `ai_nav` 数据库 3. 点击 **备份** 按钮 4. 下载备份文件到本地保存 ### 第二步:备份现有代码 1. 在1Panel中进入 **文件管理** 2. 进入 `/www/wwwroot/` 3. 右键点击 `zjpb` 文件夹 4. 选择 **压缩** → 命名为 `zjpb_backup_20250130.tar.gz` 5. 下载到本地保存 ### 第三步:上传新文件 #### 方法1:使用1Panel文件管理器(推荐) 1. 在1Panel文件管理器中进入 `/www/wwwroot/zjpb/` 2. **上传核心文件**(覆盖): - 上传 `app.py` 到 `/www/wwwroot/zjpb/` - 上传 `models.py` 到 `/www/wwwroot/zjpb/` - 上传 `migrate_prompts.py` 到 `/www/wwwroot/zjpb/`(新文件) - 上传 `quick_deploy_server.sh` 到 `/www/wwwroot/zjpb/`(新文件) 3. **上传模板文件**(覆盖): - 进入 `/www/wwwroot/zjpb/templates/` - 上传 `base_new.html` 到 `templates/` - 上传 `detail_new.html` 到 `templates/` - 进入 `templates/admin/site/` - 上传 `create.html` 到 `templates/admin/site/` - 上传 `edit.html` 到 `templates/admin/site/` #### 方法2:使用FTP工具(FileZilla/WinSCP) ``` 服务器地址: your-server-ip 用户名: root 密码: your-password 端口: 22 (SFTP) ``` 连接后进入 `/www/wwwroot/zjpb/`,直接拖拽文件上传覆盖。 ### 第四步:设置脚本权限并执行部署 在1Panel终端或SSH中执行: ```bash # 进入项目目录 cd /www/wwwroot/zjpb # 设置脚本执行权限 chmod +x quick_deploy_server.sh # 执行部署脚本 ./quick_deploy_server.sh ``` **脚本会自动完成以下操作:** 1. ✅ 停止应用 2. ✅ 备份当前代码 3. ✅ 安装依赖(如有更新) 4. ✅ 运行数据库迁移 5. ✅ 重启应用 6. ✅ 检查状态 ### 第五步:验证部署 **前台验证:** 1. 访问首页,检查页脚是否显示: - `© 2025 ZJPB - 焦提示词 | AI工具导航` - `浙ICP备2025154782号-1` 2. 访问任意网站详情页,检查: - 图标是否正常显示(不是Material Icons文本) - 返回首页按钮显示 `←` 而不是 `arrow_back` **后台验证:** 1. 登录后台 `/admin/login` 2. 检查左侧菜单是否有 **Prompt管理** 3. 点击进入,应该看到3条默认数据: - 标签生成 - 主要功能生成 - 详细介绍生成 4. 进入 **网站管理** → 编辑任意网站 5. 检查标签区域是否正常显示标签名称(不是空白蓝框) **AI功能验证:** 1. 创建新网站或编辑现有网站 2. 测试 "AI生成标签" 按钮 3. 测试 "AI生成详细介绍" 按钮 4. 测试 "AI生成主要功能" 按钮 --- ## 🐛 常见问题 ### Q1: 上传后文件权限错误 ```bash # 设置正确的权限 cd /www/wwwroot/zjpb chmod 644 *.py chmod 755 *.sh ``` ### Q2: 脚本执行失败 ```bash # 手动执行步骤 cd /www/wwwroot/zjpb ./manage.sh stop source venv/bin/activate python migrate_prompts.py ./manage.sh start ``` ### Q3: 数据库迁移报错 "表已存在" 这是正常的,说明之前已经运行过,可以忽略。 ### Q4: 应用无法启动 ```bash # 查看错误日志 ./manage.sh logs # 或 tail -f logs/error.log ``` --- ## 🔄 快速回滚(如出现问题) ```bash cd /www/wwwroot/zjpb ./manage.sh stop # 恢复备份 cd /www/wwwroot rm -rf zjpb tar -xzf zjpb_backup_20250130.tar.gz # 重启 cd zjpb ./manage.sh start ``` --- ## 📊 部署检查清单 - [ ] 生产数据库已备份 - [ ] 现有代码已备份 - [ ] 所有文件上传完成 - [ ] 部署脚本执行成功 - [ ] 前台页脚显示正常 - [ ] 详情页图标显示正常 - [ ] 后台Prompt管理菜单存在 - [ ] 标签显示正常 - [ ] AI功能测试通过 --- ## 💡 提示 如果你经常需要部署更新,建议配置Git远程仓库(GitHub/Gitee),下次就可以直接 `git pull` 更新,更加方便快捷。