新增功能: 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>
3.2 KiB
3.2 KiB
ZJPB 服务器重启指南(1Panel 环境)
第一步:确认当前部署方式
请在服务器上执行以下命令,找出应用的运行方式:
1. 检查是否有运行的 Python 进程
ps aux | grep -E "python|gunicorn|flask|app.py" | grep -v grep
2. 检查 1Panel 的应用配置
# 查看 1Panel 应用目录
ls -la /opt/1panel/apps/
# 查看项目实际路径
pwd
# 查看是否有启动脚本
ls -la *.sh start.* run.*
3. 检查 Nginx 配置
# 查看 Nginx 配置
cat /etc/nginx/sites-enabled/* | grep zjpb
# 或者
cat /etc/nginx/conf.d/* | grep zjpb
4. 检查是否使用 Docker
docker ps | grep zjpb
常见的 1Panel 部署方式
方式 1:直接运行 Python 脚本
如果找到类似这样的进程:
python app.py
重启方法:
# 停止旧进程
pkill -f "python app.py"
# 启动新进程(后台运行)
nohup python app.py > app.log 2>&1 &
方式 2:使用 Gunicorn
如果找到类似这样的进程:
gunicorn -w 4 -b 0.0.0.0:5000 app:app
重启方法:
# 停止旧进程
pkill -f gunicorn
# 启动新进程
gunicorn -w 4 -b 0.0.0.0:5000 app:app --daemon
方式 3:使用启动脚本
如果项目中有 start.sh 或类似脚本:
重启方法:
# 停止
./stop.sh
# 或者
pkill -f "python app.py"
# 启动
./start.sh
方式 4:使用 Docker
如果使用 Docker 容器:
重启方法:
# 查看容器
docker ps | grep zjpb
# 重启容器
docker restart <container_id>
方式 5:1Panel 面板管理
如果通过 1Panel 面板部署:
重启方法:
- 登录 1Panel 管理面板
- 找到 ZJPB 应用
- 点击"重启"按钮
推荐的重启流程
步骤 1:找到当前进程
ps aux | grep python | grep -v grep
记录下进程 PID 和启动命令。
步骤 2:停止进程
# 方法 1:使用 PID
kill <PID>
# 方法 2:使用进程名
pkill -f "python app.py"
# 方法 3:强制停止(如果上面不行)
pkill -9 -f "python app.py"
步骤 3:确认已停止
ps aux | grep python | grep -v grep
应该没有输出。
步骤 4:启动应用
# 进入项目目录
cd /opt/1panel/apps/zjpb
# 激活虚拟环境
source venv/bin/activate
# 启动应用(后台运行)
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 &
步骤 5:验证启动成功
# 检查进程
ps aux | grep python | grep -v grep
# 检查日志
tail -f app.log
# 或者
tail -f gunicorn.log
# 测试访问
curl http://localhost:5000/
如果不确定如何重启
请执行以下命令并将结果发给我:
echo "=== 当前目录 ==="
pwd
echo -e "\n=== Python 进程 ==="
ps aux | grep python | grep -v grep
echo -e "\n=== 项目文件 ==="
ls -la
echo -e "\n=== 启动脚本 ==="
ls -la *.sh 2>/dev/null || echo "没有找到 .sh 脚本"
echo -e "\n=== 最近的日志 ==="
ls -lt *.log 2>/dev/null | head -5 || echo "没有找到日志文件"
创建日期: 2025-02-06 适用版本: v3.0.1