Geoserver地图服务迁移
环境:
CentOS 7.5
tomcat 9.0.75
geoserver 2.18
postgresql 12.3
postgis 3.3.4
说明:
经常遇到一种情况是:在A环境部署了一套Geoserver,后因各种原因需要迁移到B环境中。迁移Geoserver程序比较容易,但迁移其中已发布的服务却问题不少。
解决思路:
Geoserver的配置都是以xml文件的方式存储,因此迁移geoserver服务,只需要将对应配置文件拷贝到新环境即可
这里总结两种情况:数据存储为文件形式、数据存储为数据库形式(PostGIS为例)
操作步骤:
数据存储为文件形式:
-
到A环境的tomcat/webapps/geoserver/data/workspaces目录下,能够看到这里很多文件夹名称与geoserver中发布的工作区名称一样,没错,这里每个文件夹对应的就是geoserver中工作区,所有绑定该工作区的样式、图层、数据存储配置都在这
-
复制到B环境同样的目录下(tomcat/webapps/geoserver/data/workspaces)
-
将A环境对应数据文件,拷贝到B环境中
-
浏览器打开B环境中geoserver的管理页面(http://ip:port/geoserver)
-
进入"数据存储"菜单,找到连接参数项,点击后侧浏览按钮,修改为B环境中文件所在位置,最后点击保存即可。
数据存储为数据库形式(PostGIS为例):
-
到A环境的tomcat/webapps/geoserver/data/workspaces目录下,能够看到这里很多文件夹名称与geoserver中发布的工作区名称一样,没错,这里每个文件夹对应的就是geoserver中工作区,所有绑定该工作区的样式、图层、数据存储配置都在这
-
复制到B环境同样的目录下(tomcat/webapps/geoserver/data/workspaces)
-
因为geoserver使用PBE加密,不可逆,每个环境生成的密码不同,所以A环境配置的PostGIS密码失效了,需要在B环境中重置密码(passwd)
-
在B环境中,找到geoserver数据存储文件位置:geoserver=>data=>workspaces文件夹=>工作区文件夹=>数据存储文件夹,打开datastore.xml文件,删除passwd节点的值
-
浏览器打开B环境中geoserver的管理页面(http://ip:port/geoserver)
-
进入"数据存储"菜单,找到连接参数项,重新输入一下passwd,最后点击保存即可。