Files
zjpb.net/SERVER_RESTART_GUIDE.md
Jowe c61969dfc9 feat: v3.1 - 用户密码管理和邮箱验证功能
新增功能:
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>
2026-02-07 23:26:02 +08:00

3.2 KiB
Raw Blame History

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>

方式 51Panel 面板管理

如果通过 1Panel 面板部署:

重启方法:

  1. 登录 1Panel 管理面板
  2. 找到 ZJPB 应用
  3. 点击"重启"按钮

推荐的重启流程

步骤 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