213 lines
3.2 KiB
Markdown
213 lines
3.2 KiB
Markdown
|
|
# 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
|