|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+# GIS引擎部署指南
|
|
|
2
|
+
|
|
|
3
|
+## 系统架构
|
|
|
4
|
+```
|
|
|
5
|
+┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
|
|
|
6
|
+│ Spring Boot │ │ GeoServer │ │ PostgreSQL │
|
|
|
7
|
+│ 应用 │───▶│ 地图服务 │───▶│ PostGIS DB │
|
|
|
8
|
+│ (端口:8081) │ │ (端口:8080) │ │ (端口:5432) │
|
|
|
9
|
+└─────────────────┘ └─────────────────┘ └─────────────────┘
|
|
|
10
|
+ │ │ │
|
|
|
11
|
+ ▼ ▼ ▼
|
|
|
12
|
+┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
|
|
|
13
|
+│ Web前端 │ │ 客户端 │ │ 管理后台 │
|
|
|
14
|
+│ (Leaflet) │ │ (移动APP) │ │ (管理界面) │
|
|
|
15
|
+└─────────────────┘ └─────────────────┘ └─────────────────┘
|
|
|
16
|
+```
|
|
|
17
|
+
|
|
|
18
|
+## 部署步骤
|
|
|
19
|
+
|
|
|
20
|
+### 1. 环境准备
|
|
|
21
|
+```bash
|
|
|
22
|
+# 安装Docker和Docker Compose
|
|
|
23
|
+curl -fsSL https://get.docker.com -o get-docker.sh
|
|
|
24
|
+sh get-docker.sh
|
|
|
25
|
+curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
|
|
|
26
|
+chmod +x /usr/local/bin/docker-compose
|
|
|
27
|
+
|
|
|
28
|
+# 克隆项目
|
|
|
29
|
+git clone http://git.xayunmei.com/bot_ym/water-management-system.git
|
|
|
30
|
+cd water-management-system
|
|
|
31
|
+```
|
|
|
32
|
+
|
|
|
33
|
+### 2. 数据库初始化
|
|
|
34
|
+```bash
|
|
|
35
|
+# 启动PostgreSQL容器
|
|
|
36
|
+docker-compose up -d postgres
|
|
|
37
|
+
|
|
|
38
|
+# 执行数据库初始化脚本
|
|
|
39
|
+docker-compose exec postgres psql -U postgres -d water_management -f /docker-entrypoint-initdb.d/init-postgis.sql
|
|
|
40
|
+```
|
|
|
41
|
+
|
|
|
42
|
+### 3. GeoServer配置
|
|
|
43
|
+```bash
|
|
|
44
|
+# 启动GeoServer
|
|
|
45
|
+docker-compose up -d geoserver
|
|
|
46
|
+
|
|
|
47
|
+# 等待GeoServer启动完成
|
|
|
48
|
+sleep 30
|
|
|
49
|
+
|
|
|
50
|
+# 执行GeoServer配置脚本
|
|
|
51
|
+chmod +x scripts/setup-geoserver.sh
|
|
|
52
|
+./scripts/setup-geoserver.sh
|
|
|
53
|
+```
|
|
|
54
|
+
|
|
|
55
|
+### 4. 应用部署
|
|
|
56
|
+```bash
|
|
|
57
|
+# 编译应用
|
|
|
58
|
+./mvnw clean package -DskipTests
|
|
|
59
|
+
|
|
|
60
|
+# 启动应用服务
|
|
|
61
|
+docker-compose up -d app
|
|
|
62
|
+```
|
|
|
63
|
+
|
|
|
64
|
+### 5. 验证部署
|
|
|
65
|
+```bash
|
|
|
66
|
+# 检查服务状态
|
|
|
67
|
+docker-compose ps
|
|
|
68
|
+
|
|
|
69
|
+# 测试API端点
|
|
|
70
|
+curl http://localhost:8081/api/gis/map-config
|
|
|
71
|
+curl http://localhost:8081/api/gis/devices
|
|
|
72
|
+
|
|
|
73
|
+# 访问GeoServer管理界面
|
|
|
74
|
+# http://localhost:8080/geoserver/web/
|
|
|
75
|
+```
|
|
|
76
|
+
|
|
|
77
|
+## 功能特性
|
|
|
78
|
+
|
|
|
79
|
+### 1. 地图功能
|
|
|
80
|
+- ✅ 多底图切换(OpenStreetMap、卫星影像、地形图)
|
|
|
81
|
+- ✅ 监测点位动态展示
|
|
|
82
|
+- ✅ 管网数据显示
|
|
|
83
|
+- ✅ 轨迹回放功能
|
|
|
84
|
+- ✅ 图层控制
|
|
|
85
|
+
|
|
|
86
|
+### 2. 数据管理
|
|
|
87
|
+- ✅ PostGIS空间数据库支持
|
|
|
88
|
+- ✅ 监测点位CRUD操作
|
|
|
89
|
+- ✅ 管网数据管理
|
|
|
90
|
+- ✅ 实时数据更新
|
|
|
91
|
+
|
|
|
92
|
+### 3. 服务接口
|
|
|
93
|
+- ✅ RESTful API设计
|
|
|
94
|
+- ✅ 地图配置获取
|
|
|
95
|
+- ✅ 设备数据查询
|
|
|
96
|
+- ✅ 管网数据管理
|
|
|
97
|
+
|
|
|
98
|
+### 4. 部署特性
|
|
|
99
|
+- ✅ Docker容器化部署
|
|
|
100
|
+- ✅ 服务编排配置
|
|
|
101
|
+- ✅ 自动初始化脚本
|
|
|
102
|
+- ✅ 健康检查支持
|
|
|
103
|
+
|
|
|
104
|
+## 监控和维护
|
|
|
105
|
+
|
|
|
106
|
+### 1. 日志查看
|
|
|
107
|
+```bash
|
|
|
108
|
+# 应用日志
|
|
|
109
|
+docker-compose logs app
|
|
|
110
|
+
|
|
|
111
|
+# GeoServer日志
|
|
|
112
|
+docker-compose logs geoserver
|
|
|
113
|
+
|
|
|
114
|
+# 数据库日志
|
|
|
115
|
+docker-compose logs postgres
|
|
|
116
|
+```
|
|
|
117
|
+
|
|
|
118
|
+### 2. 性能监控
|
|
|
119
|
+- GeoServer:内存使用、响应时间
|
|
|
120
|
+- PostgreSQL:连接数、查询性能
|
|
|
121
|
+- Spring Boot:JVM监控、API响应
|
|
|
122
|
+
|
|
|
123
|
+### 3. 备份策略
|
|
|
124
|
+- 数据库定期备份
|
|
|
125
|
+- Geoerver数据目录备份
|
|
|
126
|
+- 配置文件备份
|
|
|
127
|
+
|
|
|
128
|
+## 故障排除
|
|
|
129
|
+
|
|
|
130
|
+### 常见问题
|
|
|
131
|
+1. **GeoServer无法访问**
|
|
|
132
|
+ - 检查容器状态:`docker-compose ps`
|
|
|
133
|
+ - 查看启动日志:`docker-compose logs geoserver`
|
|
|
134
|
+ - 确认端口映射:`netstat -tlnp | grep 8080`
|
|
|
135
|
+
|
|
|
136
|
+2. **数据库连接失败**
|
|
|
137
|
+ - 检查PostgreSQL容器状态
|
|
|
138
|
+ - 确认数据库用户密码
|
|
|
139
|
+ - 验证PostGIS扩展是否安装
|
|
|
140
|
+
|
|
|
141
|
+3. **API接口无响应**
|
|
|
142
|
+ - 检查Spring Boot应用状态
|
|
|
143
|
+ - 查看应用日志
|
|
|
144
|
+ - 确认数据库连接配置
|
|
|
145
|
+
|
|
|
146
|
+### 联系支持
|
|
|
147
|
+- 技术支持:bot_dev1
|
|
|
148
|
+- 邮箱:bot_dev1@xayunmei.com
|