# ZJPB 服务器重启指南（1Panel 环境）

## 第一步：确认当前部署方式

请在服务器上执行以下命令，找出应用的运行方式：

### 1. 检查是否有运行的 Python 进程

```bash
ps aux | grep -E "python|gunicorn|flask|app.py" | grep -v grep
```

### 2. 检查 1Panel 的应用配置

```bash
# 查看 1Panel 应用目录
ls -la /opt/1panel/apps/

# 查看项目实际路径
pwd

# 查看是否有启动脚本
ls -la *.sh start.* run.*
```

### 3. 检查 Nginx 配置

```bash
# 查看 Nginx 配置
cat /etc/nginx/sites-enabled/* | grep zjpb
# 或者
cat /etc/nginx/conf.d/* | grep zjpb
```

### 4. 检查是否使用 Docker

```bash
docker ps | grep zjpb
```

---

## 常见的 1Panel 部署方式

### 方式 1：直接运行 Python 脚本

如果找到类似这样的进程：
```
python app.py
```

**重启方法：**
```bash
# 停止旧进程
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
```

**重启方法：**
```bash
# 停止旧进程
pkill -f gunicorn

# 启动新进程
gunicorn -w 4 -b 0.0.0.0:5000 app:app --daemon
```

---

### 方式 3：使用启动脚本

如果项目中有 `start.sh` 或类似脚本：

**重启方法：**
```bash
# 停止
./stop.sh
# 或者
pkill -f "python app.py"

# 启动
./start.sh
```

---

### 方式 4：使用 Docker

如果使用 Docker 容器：

**重启方法：**
```bash
# 查看容器
docker ps | grep zjpb

# 重启容器
docker restart <container_id>
```

---

### 方式 5：1Panel 面板管理

如果通过 1Panel 面板部署：

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

---

## 推荐的重启流程

### 步骤 1：找到当前进程

```bash
ps aux | grep python | grep -v grep
```

记录下进程 PID 和启动命令。

### 步骤 2：停止进程

```bash
# 方法 1：使用 PID
kill <PID>

# 方法 2：使用进程名
pkill -f "python app.py"

# 方法 3：强制停止（如果上面不行）
pkill -9 -f "python app.py"
```

### 步骤 3：确认已停止

```bash
ps aux | grep python | grep -v grep
```

应该没有输出。

### 步骤 4：启动应用

```bash
# 进入项目目录
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：验证启动成功

```bash
# 检查进程
ps aux | grep python | grep -v grep

# 检查日志
tail -f app.log
# 或者
tail -f gunicorn.log

# 测试访问
curl http://localhost:5000/
```

---

## 如果不确定如何重启

请执行以下命令并将结果发给我：

```bash
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
