需求背景介绍:
项目开发中需要展示全国格网的地理信息数据,选择了geoserver。因为要把这些信息在地图上展示,所以需要前端获取具体数据,然后渲染到地图上。 前端获取具体数据是通过使用ArcGisAPI 调用 OGC API Features service 提供的接口获取的。所以本文要介绍的除了geoserver服务的部署,还包含ogcapi插件的安装。
linux 环境安装geoserver服务。
-
官网下载geoserver安装包,本文使用的是2.17版,可以直接扔给tomcat 自动部署的war包。
-
使用 rz 命令 将本地war包 传输 到 linux 服务器。
具体命令如下:
cd /usr/share/tomcat/webapps (切到 tomcat webapps 目录下)
rz (使用rz 将 geoserver.war 传到当前目录下) -
解压文件
mkdir geoserver
cd geoserver
unzip geoserver.war -
设置tomcat 依赖的环境变量。
官方的建议是 在 bin 目录下创建 setenv.sh 文件,将 JAVA_HOME JAVA_OPT 等配置放到该文件中,命令如下:
cd /usr/share/tomcat/bin
ls
mkdir setenv.sh
vim setenv.sh
tomcat 启动时 会在控制台看到下图的配置
-
处理geoserver跨域问题
A. 保证 geoserver 目录下 lib 已经包含了如下两个jar包
B. 修改 geoserver/WEB-INF 下 web.xml ,放开如下两段配置(默认是被注释掉的)。
-
在确认 tomcat 目前的端口配置 可用后,可以启动 tomcat
cd /usr/share/tomcat/bin
./startup.sh
首先输入下面地址,确认tocmat已经启动。
http://10.70.137.244:8080
然后 输入 http://10.70.137.244:8080/geoserver
默认用户名,密码 admin geoserver -
如果能正常访问,下面我们继续安装 ogcapi 插件
直接解压 插件 到 /usr/share/tomcat/webapps/geoserver/WEB-INF/ lib 目录下 。
插件可能会不好下载,我已上传插件资源:https://download.csdn.net/download/qq_16813509/16792222 -
因为 ogcAPI 提供的接口 是 https 协议的。所以我们还需要 配置 tomcat 支持 https 协议。
方法有多种,我使用下面这种
利用JDK自带的keytools生成一个p12类型的证书
cd /usr/share/tomcat/config
keytool -genkey -storetype PKCS12 -alias tomcat -keyalg RSA -keysize 2048 -keystore tomcat.p12 -storepass 123456 -dname "CN=zhi,OU=zhi,O=zhi,L=wuhan,ST=hubei,C=CN"
/usr/share/tomcat/config/server.xml 中放开并修改下面的配置
至此可以 访问 ogcApi中 https协议的接口了。