# 结伴客后端服务管理脚本 ## 概述 本目录包含用于管理结伴客后端服务的一组脚本,包括启动、停止、重启和状态检查等功能。 ## 脚本说明 ### 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 ```