新增功能: 1. 修改密码功能 - 用户可以修改自己的密码 - 需要验证旧密码 - 新密码至少6位且不能与旧密码相同 2. 邮箱绑定功能 - 用户可以绑定/修改邮箱 - 邮箱格式验证和唯一性检查 - 修改邮箱后需要重新验证 3. 邮箱验证功能 - 发送验证邮件(24小时有效) - 点击邮件链接完成验证 - 验证状态显示 技术实现: - 新增4个数据库字段(email_verified等) - 封装邮件发送工具(utils/email_sender.py) - 新增5个API接口 - 新增修改密码页面 - 集成邮箱管理到个人中心 文件变更: - 修改:app.py, models.py, base_new.html, profile.html - 新增:change_password.html, email_sender.py, migrate_email_verification.py - 文档:server-update.md, SERVER_RESTART_GUIDE.md Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2.7 KiB
2.7 KiB
ZJPB 服务器更新标准流程
适用场景
- 代码更新后需要部署到服务器
- 数据库结构变更需要迁移
- 新功能上线
服务器环境
- 部署方式: 1Panel 管理
- 项目路径:
/opt/1panel/apps/zjpb - 运行方式: Python 直接运行或 Gunicorn
- 数据库: MySQL/MariaDB
标准更新流程
第一步:提交代码到 Git
# 在本地开发环境
git add .
git commit -m "feat: 功能描述"
git push origin master
第二步:登录服务器
ssh your_username@server_ip
第三步:进入项目目录
cd /opt/1panel/apps/zjpb
第四步:停止应用
# 查找进程
ps aux | grep python | grep -v grep
# 停止进程(使用进程ID)
kill <PID>
# 或者强制停止
pkill -f "python app.py"
第五步:拉取最新代码
git pull origin master
第六步:激活虚拟环境
source venv/bin/activate
第七步:安装/更新依赖(如有)
pip install -r requirements.txt
第八步:运行数据库迁移(如有)
# 根据具体的迁移脚本名称
python migrate_xxx.py
第九步:启动应用
# 后台运行
nohup python app.py > app.log 2>&1 &
# 或使用 Gunicorn
nohup gunicorn -w 4 -b 0.0.0.0:5000 app:app > gunicorn.log 2>&1 &
第十步:验证启动成功
# 检查进程
ps aux | grep python | grep -v grep
# 查看日志
tail -f app.log
# 测试访问
curl http://localhost:5000/
快速命令(一键执行)
# 进入目录并更新
cd /opt/1panel/apps/zjpb && \
pkill -f "python app.py" && \
git pull origin master && \
source venv/bin/activate && \
nohup python app.py > app.log 2>&1 & && \
tail -f app.log
注意事项
-
数据库迁移前必须备份
mysqldump -u root -p zjpb > backup_$(date +%Y%m%d_%H%M%S).sql -
检查环境变量配置
- 确保
.env文件存在且配置正确 - 新增的环境变量需要手动添加
- 确保
-
日志监控
- 启动后观察日志至少 1-2 分钟
- 确认没有错误信息
-
回滚方案
# 如果出现问题,回滚到上一个版本 git reset --hard HEAD~1 # 重启应用
常见问题
问题1:端口被占用
# 查找占用端口的进程
lsof -i :5000
# 杀死进程
kill -9 <PID>
问题2:虚拟环境找不到
# 重新创建虚拟环境
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
问题3:数据库连接失败
# 检查数据库服务状态
systemctl status mysql
# 检查 .env 配置
cat .env | grep DATABASE
创建日期: 2025-02-07 最后更新: 2025-02-07