181 lines
3.0 KiB
Markdown
181 lines
3.0 KiB
Markdown
|
|
# 结伴客后端服务管理脚本
|
|||
|
|
|
|||
|
|
## 概述
|
|||
|
|
|
|||
|
|
本目录包含用于管理结伴客后端服务的一组脚本,包括启动、停止、重启和状态检查等功能。
|
|||
|
|
|
|||
|
|
## 脚本说明
|
|||
|
|
|
|||
|
|
### start.sh - 启动脚本
|
|||
|
|
|
|||
|
|
用于启动结伴客后端服务。
|
|||
|
|
|
|||
|
|
#### 使用方法
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 生产模式启动(默认)
|
|||
|
|
./start.sh
|
|||
|
|
|
|||
|
|
# 开发模式启动(支持热重载)
|
|||
|
|
./start.sh dev
|
|||
|
|
|
|||
|
|
# 显示帮助信息
|
|||
|
|
./start.sh help
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 功能特点
|
|||
|
|
|
|||
|
|
- 自动检查并安装依赖(如果未安装)
|
|||
|
|
- 自动复制环境变量文件(如果不存在)
|
|||
|
|
- 支持生产模式和开发模式
|
|||
|
|
- 开发模式下优先使用 nodemon(如果已安装)
|
|||
|
|
|
|||
|
|
### stop.sh - 停止脚本
|
|||
|
|
|
|||
|
|
用于停止正在运行的结伴客后端服务。
|
|||
|
|
|
|||
|
|
#### 使用方法
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 停止服务
|
|||
|
|
./stop.sh
|
|||
|
|
|
|||
|
|
# 显示帮助信息
|
|||
|
|
./stop.sh help
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 功能特点
|
|||
|
|
|
|||
|
|
- 自动查找并停止所有相关的后端服务进程
|
|||
|
|
- 优雅地停止进程,超时后强制终止
|
|||
|
|
- 显示详细的进程停止信息
|
|||
|
|
|
|||
|
|
### restart.sh - 重启脚本
|
|||
|
|
|
|||
|
|
用于重启结伴客后端服务。
|
|||
|
|
|
|||
|
|
#### 使用方法
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 生产模式重启(默认)
|
|||
|
|
./restart.sh
|
|||
|
|
|
|||
|
|
# 开发模式重启
|
|||
|
|
./restart.sh dev
|
|||
|
|
|
|||
|
|
# 显示帮助信息
|
|||
|
|
./restart.sh help
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 功能特点
|
|||
|
|
|
|||
|
|
- 结合了 stop.sh 和 start.sh 的所有功能
|
|||
|
|
- 支持生产模式和开发模式
|
|||
|
|
- 在停止和启动之间添加了延迟以确保服务完全停止
|
|||
|
|
|
|||
|
|
### status.sh - 状态检查脚本
|
|||
|
|
|
|||
|
|
用于检查结伴客后端服务的运行状态。
|
|||
|
|
|
|||
|
|
#### 使用方法
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 检查服务状态
|
|||
|
|
./status.sh
|
|||
|
|
|
|||
|
|
# 显示详细信息
|
|||
|
|
./status.sh detail
|
|||
|
|
|
|||
|
|
# 显示帮助信息
|
|||
|
|
./status.sh help
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 功能特点
|
|||
|
|
|
|||
|
|
- 显示服务是否正在运行
|
|||
|
|
- 显示相关的进程信息
|
|||
|
|
- 详细模式下显示端口占用、工作目录等信息
|
|||
|
|
|
|||
|
|
## 使用示例
|
|||
|
|
|
|||
|
|
### 日常使用
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 进入后端目录
|
|||
|
|
cd backend
|
|||
|
|
|
|||
|
|
# 启动服务
|
|||
|
|
./start.sh
|
|||
|
|
|
|||
|
|
# 检查服务状态
|
|||
|
|
./status.sh
|
|||
|
|
|
|||
|
|
# 重启服务
|
|||
|
|
./restart.sh
|
|||
|
|
|
|||
|
|
# 停止服务
|
|||
|
|
./stop.sh
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 开发环境使用
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 进入后端目录
|
|||
|
|
cd backend
|
|||
|
|
|
|||
|
|
# 以开发模式启动(支持热重载)
|
|||
|
|
./start.sh dev
|
|||
|
|
|
|||
|
|
# 检查服务状态
|
|||
|
|
./status.sh
|
|||
|
|
|
|||
|
|
# 重启服务(保持开发模式)
|
|||
|
|
./restart.sh dev
|
|||
|
|
|
|||
|
|
# 停止服务
|
|||
|
|
./stop.sh
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 注意事项
|
|||
|
|
|
|||
|
|
1. 首次运行脚本前,请确保已安装 Node.js 和 npm
|
|||
|
|
2. 脚本会自动检查依赖并安装(如果未安装)
|
|||
|
|
3. 如果没有安装 nodemon,开发模式将回退到使用 node
|
|||
|
|
4. 脚本需要在后端项目根目录下运行
|
|||
|
|
5. 确保运行脚本的用户具有足够的权限
|
|||
|
|
|
|||
|
|
## 故障排除
|
|||
|
|
|
|||
|
|
### 权限问题
|
|||
|
|
|
|||
|
|
如果遇到权限问题,请为脚本添加执行权限:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
chmod +x start.sh stop.sh restart.sh status.sh
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
或者使用 npm 命令:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
npm run start-scripts
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 服务无法启动
|
|||
|
|
|
|||
|
|
1. 检查端口是否被占用:
|
|||
|
|
```bash
|
|||
|
|
netstat -tlnp | grep :3000
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
2. 检查环境变量配置是否正确
|
|||
|
|
|
|||
|
|
3. 查看详细日志信息
|
|||
|
|
|
|||
|
|
### 服务无法停止
|
|||
|
|
|
|||
|
|
1. 脚本会自动等待10秒后强制终止进程
|
|||
|
|
2. 如果仍有问题,可以手动终止进程:
|
|||
|
|
```bash
|
|||
|
|
ps aux | grep "node src/server.js"
|
|||
|
|
kill -9 <PID>
|
|||
|
|
```
|