340 lines
8.0 KiB
Markdown
340 lines
8.0 KiB
Markdown
# 灵境万象健康管理系统 (LJWX)
|
|
|
|
## 🌟 系统简介
|
|
|
|
灵境万象健康管理系统是一个基于Docker的企业级健康数据管理平台,支持穿戴设备数据采集、实时监控大屏、智能健康分析等功能。
|
|
|
|
### 🏗️ 系统架构
|
|
|
|
- **ljwx-admin**: Vue.js前端管理界面 (端口8080)
|
|
- **ljwx-boot**: Spring Boot后端API (端口9998)
|
|
- **ljwx-bigscreen**: Python Flask大屏应用 (端口8001)
|
|
- **ljwx-mysql**: 定制化MySQL数据库 (端口3306)
|
|
- **ljwx-redis**: 定制化Redis缓存 (端口6379)
|
|
|
|
## 🚀 快速开始
|
|
|
|
### 1. 多架构镜像拉取
|
|
|
|
我们的镜像支持 **AMD64** 和 **ARM64** 双架构,可以在任何服务器上运行:
|
|
|
|
```bash
|
|
# 自动拉取适合当前架构的镜像
|
|
docker pull crpi-yilnm6upy4pmbp67.cn-shenzhen.personal.cr.aliyuncs.com/ljwx/ljwx-mysql:1.1.0
|
|
docker pull crpi-yilnm6upy4pmbp67.cn-shenzhen.personal.cr.aliyuncs.com/ljwx/ljwx-redis:1.1.0
|
|
docker pull crpi-yilnm6upy4pmbp67.cn-shenzhen.personal.cr.aliyuncs.com/ljwx/ljwx-boot:1.1.0
|
|
docker pull crpi-yilnm6upy4pmbp67.cn-shenzhen.personal.cr.aliyuncs.com/ljwx/ljwx-bigscreen:1.1.0
|
|
docker pull crpi-yilnm6upy4pmbp67.cn-shenzhen.personal.cr.aliyuncs.com/ljwx/ljwx-admin:1.1.0
|
|
|
|
# 强制拉取AMD64版本(在AMD64服务器上)
|
|
docker pull --platform linux/amd64 crpi-yilnm6upy4pmbp67.cn-shenzhen.personal.cr.aliyuncs.com/ljwx/ljwx-boot:1.1.0
|
|
|
|
# 验证镜像架构支持
|
|
docker buildx imagetools inspect crpi-yilnm6upy4pmbp67.cn-shenzhen.personal.cr.aliyuncs.com/ljwx/ljwx-boot:1.1.0
|
|
```
|
|
|
|
### 2. 创建目录结构
|
|
|
|
```bash
|
|
# 创建外挂日志和数据目录
|
|
./setup-external-volumes.sh
|
|
```
|
|
|
|
这将创建以下目录结构:
|
|
|
|
```
|
|
./logs/
|
|
├── mysql/ # MySQL 日志文件
|
|
├── redis/ # Redis 日志文件
|
|
├── ljwx-boot/ # Spring Boot 应用日志
|
|
├── ljwx-bigscreen/ # Python 大屏应用日志
|
|
└── ljwx-admin/ # Nginx 访问和错误日志
|
|
|
|
./data/
|
|
├── mysql/ # MySQL 数据文件(可选)
|
|
├── redis/ # Redis 数据文件(可选)
|
|
├── ljwx-boot/ # Spring Boot 应用数据
|
|
└── ljwx-bigscreen/ # Python 大屏应用数据
|
|
```
|
|
|
|
### 3. 快速部署
|
|
|
|
#### 一键部署脚本
|
|
|
|
**在线部署(默认):**
|
|
```bash
|
|
# 自动从阿里云拉取最新镜像并部署
|
|
./deploy-client.sh
|
|
|
|
# 或指定配置文件
|
|
./deploy-client.sh custom-config.env
|
|
```
|
|
|
|
**离线部署模式:**
|
|
```bash
|
|
# 使用本地镜像部署,跳过网络下载
|
|
./deploy-client.sh offline
|
|
|
|
# 或指定配置文件的离线模式
|
|
./deploy-client.sh custom-config.env offline
|
|
```
|
|
|
|
#### 手动部署
|
|
|
|
```bash
|
|
# 使用标准配置启动(Docker内部卷)
|
|
docker-compose up -d
|
|
|
|
# 使用增强配置启动(日志和数据外挂)
|
|
docker-compose -f docker-compose-enhanced.yml up -d
|
|
```
|
|
|
|
## 🔧 配置说明
|
|
|
|
### 📝 日志和数据外挂配置
|
|
|
|
我们提供两种部署方式:
|
|
|
|
#### 方式1:标准部署 (docker-compose.yml)
|
|
- 使用Docker命名卷存储数据和日志
|
|
- 数据和日志由Docker管理
|
|
- 适合开发和测试环境
|
|
|
|
#### 方式2:增强部署 (docker-compose-enhanced.yml)
|
|
- 日志和数据直接外挂到宿主机
|
|
- 便于监控、备份和调试
|
|
- 适合生产环境
|
|
|
|
**增强部署特性:**
|
|
```yaml
|
|
# MySQL 数据持久化和日志外挂
|
|
mysql:
|
|
volumes:
|
|
- mysql_data:/var/lib/mysql # 数据持久化
|
|
- ./logs/mysql:/var/log/mysql # 日志外挂
|
|
|
|
# Spring Boot 应用日志外挂
|
|
ljwx-boot:
|
|
volumes:
|
|
- ./logs/ljwx-boot:/app/ljwx-boot-logs # 应用日志
|
|
- ./data/ljwx-boot:/app/data # 应用数据
|
|
```
|
|
|
|
### 📱 微信配置
|
|
|
|
在 `custom-config.env` 文件中配置微信告警:
|
|
|
|
```env
|
|
# 微信小程序配置
|
|
WECHAT_APP_ID=wx10dcc9f0235e1d77
|
|
WECHAT_APP_SECRET=your_wechat_app_secret
|
|
|
|
# 微信模板消息配置
|
|
WECHAT_TEMPLATE_ID=your_template_id
|
|
WECHAT_USER_OPENID=your_user_openid
|
|
|
|
# 启用微信告警
|
|
WECHAT_ALERT_ENABLED=true
|
|
```
|
|
|
|
**微信告警功能:**
|
|
- 健康异常数据实时推送
|
|
- 设备离线状态通知
|
|
- 系统运行状态监控
|
|
- 定制化告警规则
|
|
|
|
### 🎨 定制化配置
|
|
|
|
#### 1. 自定义Logo
|
|
```bash
|
|
# 将您的logo文件替换为 custom-logo.svg
|
|
cp your-logo.svg custom-logo.svg
|
|
```
|
|
|
|
#### 2. 自定义配置文件
|
|
```bash
|
|
# 编辑大屏应用配置
|
|
vim custom-config.py
|
|
|
|
# 编辑前端配置
|
|
vim custom-admin-config.js
|
|
```
|
|
|
|
#### 3. 自定义资源文件
|
|
```bash
|
|
# 在 custom-assets 目录放置自定义图片资源
|
|
mkdir -p custom-assets
|
|
cp your-images/* custom-assets/
|
|
```
|
|
|
|
#### 4. 数据库初始化
|
|
```bash
|
|
# 自定义数据库初始化脚本
|
|
vim client-data.sql # 业务数据
|
|
vim client-admin.sql # 管理员数据
|
|
```
|
|
|
|
## 🛠️ 运维管理
|
|
|
|
### 查看服务状态
|
|
```bash
|
|
# 查看所有服务状态
|
|
docker-compose ps
|
|
|
|
# 查看服务日志
|
|
docker-compose logs -f ljwx-boot
|
|
docker-compose logs -f ljwx-bigscreen
|
|
|
|
# 查看外挂日志(增强模式)
|
|
tail -f logs/ljwx-boot/*.log
|
|
tail -f logs/mysql/error.log
|
|
tail -f logs/ljwx-admin/access.log
|
|
```
|
|
|
|
### 数据备份
|
|
```bash
|
|
# MySQL数据备份
|
|
docker-compose exec mysql mysqldump -u root -p123456 lj-06 > backup_$(date +%Y%m%d_%H%M%S).sql
|
|
|
|
# Redis数据备份
|
|
docker-compose exec redis redis-cli BGSAVE
|
|
```
|
|
|
|
### 服务重启
|
|
```bash
|
|
# 重启单个服务
|
|
docker-compose restart ljwx-boot
|
|
|
|
# 重启所有服务
|
|
docker-compose restart
|
|
|
|
# 更新服务
|
|
docker-compose pull
|
|
docker-compose up -d
|
|
```
|
|
|
|
## 🌐 访问地址
|
|
|
|
启动成功后,可以通过以下地址访问各个服务:
|
|
|
|
- **管理后台**: http://localhost:8080
|
|
- 默认账号: admin/123456
|
|
|
|
- **健康大屏**: http://localhost:8001
|
|
- 实时健康数据展示
|
|
|
|
- **API接口**: http://localhost:9998
|
|
- Swagger文档: http://localhost:9998/doc.html
|
|
|
|
- **数据库**: localhost:3306
|
|
- 用户名: root
|
|
- 密码: 123456
|
|
- 数据库: lj-06
|
|
|
|
## 🔧 环境变量配置
|
|
|
|
在 `custom-config.env` 中可以配置以下参数:
|
|
|
|
```env
|
|
# 数据库配置
|
|
MYSQL_PASSWORD=123456
|
|
MYSQL_DATABASE=lj-06
|
|
MYSQL_USER=root
|
|
|
|
# Redis配置
|
|
REDIS_PASSWORD=123456
|
|
|
|
# 应用配置
|
|
VITE_APP_TITLE=穿戴管理演示系统
|
|
VITE_BIGSCREEN_URL=http://localhost:8001
|
|
|
|
# 微信配置
|
|
WECHAT_APP_ID=wx10dcc9f0235e1d77
|
|
WECHAT_APP_SECRET=your_secret
|
|
WECHAT_TEMPLATE_ID=your_template_id
|
|
WECHAT_USER_OPENID=your_openid
|
|
WECHAT_ALERT_ENABLED=true
|
|
```
|
|
|
|
## 📊 监控和告警
|
|
|
|
### 健康检查
|
|
```bash
|
|
# 检查服务健康状态
|
|
docker-compose exec ljwx-boot curl http://localhost:9998/health
|
|
docker-compose exec ljwx-bigscreen curl http://localhost:8001/health
|
|
```
|
|
|
|
### 性能监控
|
|
- CPU和内存使用情况
|
|
- 数据库连接状态
|
|
- Redis缓存命中率
|
|
- 接口响应时间
|
|
|
|
## 🚨 故障排除
|
|
|
|
### 常见问题
|
|
|
|
1. **服务启动失败**
|
|
```bash
|
|
# 查看详细错误日志
|
|
docker-compose logs service_name
|
|
|
|
# 检查端口占用
|
|
netstat -tulpn | grep :8080
|
|
```
|
|
|
|
2. **数据库连接失败**
|
|
```bash
|
|
# 检查MySQL服务状态
|
|
docker-compose exec mysql mysql -u root -p123456 -e "SELECT 1"
|
|
|
|
# 重置数据库密码
|
|
docker-compose exec mysql mysql -u root -p -e "ALTER USER 'root'@'%' IDENTIFIED BY '123456';"
|
|
```
|
|
|
|
3. **微信告警不工作**
|
|
- 检查WECHAT_APP_SECRET是否正确
|
|
- 验证WECHAT_USER_OPENID是否有效
|
|
- 确认模板消息ID是否匹配
|
|
|
|
4. **日志文件权限问题**
|
|
```bash
|
|
# 修复日志目录权限
|
|
sudo chmod -R 755 logs/
|
|
sudo chown -R $USER:$USER logs/
|
|
```
|
|
|
|
## 🔄 版本更新
|
|
|
|
### 更新到最新版本
|
|
```bash
|
|
# 1. 备份当前数据
|
|
docker-compose exec mysql mysqldump -u root -p123456 lj-06 > backup_before_update.sql
|
|
|
|
# 2. 拉取最新镜像
|
|
docker-compose pull
|
|
|
|
# 3. 重新启动服务
|
|
docker-compose down
|
|
docker-compose up -d
|
|
|
|
# 4. 验证服务状态
|
|
docker-compose ps
|
|
```
|
|
|
|
## 📞 技术支持
|
|
|
|
如果在部署过程中遇到问题,请:
|
|
|
|
1. 查看错误日志:`docker-compose logs -f service_name`
|
|
2. 检查配置文件:确认环境变量和挂载路径
|
|
3. 验证网络连接:确保服务间能正常通信
|
|
4. 检查资源使用:确保服务器有足够的CPU和内存
|
|
|
|
---
|
|
|
|
**版本**: v1.1.0
|
|
**更新时间**: 2025年6月
|
|
**支持架构**: linux/amd64, linux/arm64
|
|
**技术栈**: Spring Boot + Vue.js + Python Flask + MySQL + Redis |