Files
hzhub/SERVICE_MANAGEMENT.md
大壮 278e507e8a feat: 添加员工门户项目及相关后端改造
- 新增 hzhub-portal-employee 员工门户前端项目(基于 Vue3 + Element Plus)
- 后端登录接口增加返回 nickName 字段
- 移除 KnowledgeInfoController 的 @SaCheckPermission 注解
- 删除 hzhub-portal-company 旧门户项目
- 更新项目文档和架构说明
- 添加后台运行管理脚本(start-all.sh / status-all.sh / stop-all.sh)
- 更新 docker-compose 配置

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-13 03:47:33 +00:00

286 lines
5.6 KiB
Markdown
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 服务管理脚本使用说明
本项目为 `hzhub-admin``hzhub-ai``hzhub-portal-employee` 三个项目提供了后台运行管理脚本,方便开发调试。
## 📋 脚本列表
每个项目根目录下都包含以下脚本:
| 脚本 | 功能 | 说明 |
|------|------|------|
| `start.sh` | 启动服务 | 后台启动开发服务器 |
| `stop.sh` | 停止服务 | 停止后台运行的服务 |
| `restart.sh` | 重启服务 | 先停止后启动 |
| `status.sh` | 查看状态 | 查看服务运行状态和最新日志 |
| `logs.sh` | 查看日志 | 实时查看服务日志 |
## 🚀 快速开始
### 1. 启动后端服务 (hzhub-ai)
```bash
cd /data/hzhub/hzhub-ai
./start.sh
```
**输出示例:**
```
=========================================
启动 hzhub-ai 后端服务
=========================================
🚀 启动 Spring Boot 服务...
⏳ 等待服务启动中...
✅ 服务启动成功
PID: 12345
日志: /data/hzhub/hzhub-ai/logs/backend.log
API: http://localhost:6039
```
**访问地址:** http://localhost:6039
### 2. 启动管理后台 (hzhub-admin)
```bash
cd /data/hzhub/hzhub-admin
./start.sh
```
**访问地址:** http://localhost:5666
### 3. 启动员工门户 (hzhub-portal-employee)
```bash
cd /data/hzhub/hzhub-portal-employee
./start.sh
```
**访问地址:** http://localhost:5137
## 📊 查看服务状态
```bash
# 查看后端服务状态
cd /data/hzhub/hzhub-ai
./status.sh
# 查看管理后台状态
cd /data/hzhub/hzhub-admin
./status.sh
# 查看员工门户状态
cd /data/hzhub/hzhub-portal-employee
./status.sh
```
**输出示例:**
```
=========================================
hzhub-ai 服务状态
=========================================
状态: 🟢 运行中
PID: 12345
PID PPID CMD ELAPSED
12345 1 mvn spring-boot:run -Dspring- 00:15:32
日志文件: /data/hzhub/hzhub-ai/logs/backend.log
API地址: http://localhost:6039
端口状态: ✅ 6039 端口正在监听
```
## 📝 查看实时日志
```bash
# 查看后端日志
cd /data/hzhub/hzhub-ai
./logs.sh
# 或直接使用tail命令
tail -f /data/hzhub/hzhub-ai/logs/backend.log
```
`Ctrl+C` 退出日志查看。
## 🔄 重启服务
```bash
# 重启后端服务
cd /data/hzhub/hzhub-ai
./restart.sh
# 重启管理后台
cd /data/hzhub/hzhub-admin
./restart.sh
# 重启员工门户
cd /data/hzhub/hzhub-portal-employee
./restart.sh
```
## 🛑 停止服务
```bash
# 停止后端服务
cd /data/hzhub/hzhub-ai
./stop.sh
# 停止管理后台
cd /data/hzhub/hzhub-admin
./stop.sh
# 停止员工门户
cd /data/hzhub/hzhub-portal-employee
./stop.sh
```
## 💡 使用技巧
### 启动顺序建议
1. **先启动后端服务** (hzhub-ai)
```bash
cd /data/hzhub/hzhub-ai && ./start.sh
```
2. **等待后端完全启动** (约30-60秒)
```bash
./status.sh # 查看端口6039是否监听
```
3. **启动前端应用**
```bash
cd /data/hzhub/hzhub-admin && ./start.sh
cd /data/hzhub/hzhub-portal-employee && ./start.sh
```
### 一键启动所有服务
创建一个启动脚本 `/data/hzhub/start-all.sh`
```bash
#!/bin/bash
echo "启动所有 HZHub 服务..."
cd /data/hzhub/hzhub-ai
./start.sh
sleep 10
cd /data/hzhub/hzhub-admin
./start.sh
cd /data/hzhub/hzhub-portal-employee
./start.sh
echo "所有服务启动完成!"
```
### 一键停止所有服务
创建一个停止脚本 `/data/hzhub/stop-all.sh`
```bash
#!/bin/bash
echo "停止所有 HZHub 服务..."
cd /data/hzhub/hzhub-portal-employee
./stop.sh
cd /data/hzhub/hzhub-admin
./stop.sh
cd /data/hzhub/hzhub-ai
./stop.sh
echo "所有服务已停止!"
```
## ⚙️ 服务信息
| 项目 | 端口 | 日志文件 | PID文件 |
|------|------|----------|---------|
| hzhub-ai | 6039 | logs/backend.log | .pid |
| hzhub-admin | 5666 | logs/dev.log | .pid |
| hzhub-portal-employee | 5137 | logs/dev.log | .pid |
## 🔍 常见问题
### Q: 服务启动失败怎么办?
**A:** 检查以下几点:
1. 查看日志文件:`./logs.sh` 或 `tail -f logs/*.log`
2. 检查端口是否被占用:`netstat -tuln | grep 端口号`
3. 确认依赖是否安装:前端项目执行 `pnpm install`
4. 后端项目检查 Maven 是否可用:`mvn -v`
### Q: 如何确认服务是否完全启动?
**A:**
- **后端服务**:执行 `./status.sh` 查看6039端口是否监听
- **前端服务**:访问对应端口查看页面是否正常显示
### Q: PID文件损坏怎么办
**A:** 手动删除PID文件
```bash
rm .pid
./start.sh
```
### Q: 进程僵死无法停止?
**A:** 查找并强制终止进程:
```bash
# 查找进程
ps aux | grep "spring-boot\|vite\|pnpm"
# 强制终止
kill -9 <PID>
# 清理PID文件
rm .pid
```
## 📁 日志管理
### 日志位置
所有日志都保存在各项目的 `logs/` 目录下:
```
hzhub-ai/
├── logs/
│ └── backend.log
hzhub-admin/
├── logs/
│ └── dev.log
hzhub-portal-employee/
├── logs/
│ └── dev.log
```
### 日志轮转
建议定期清理日志文件:
```bash
# 清空日志文件
> logs/backend.log
# 或删除旧日志
rm logs/*.log
```
## ⚠️ 注意事项
1. **端口冲突**:确保端口 6039、5666、5137 未被其他服务占用
2. **资源占用**后端服务启动较慢30-60秒请耐心等待
3. **开发模式**:这些脚本仅用于开发调试,生产环境请使用 Docker 部署
4. **数据持久化**:前端开发服务器会自动热重载,后端服务需要手动重启
## 🔗 相关文档
- [项目主文档](../CLAUDE.md)
- [部署文档](../hzhub-deploy/README.md)
- [开发环境配置](../docs/project/plan/phase-1.md)