地图服务器GeoServer的安装与配置

GeoServer提供了多种安装配置方式,但是本质上GeoServer是一个基于Java Web的项目,因此我们理论上只需要安装Java,并且将其放置在一个Web服务器(例如Apache Tomcat)下进行发布就可以了。另外,GeoServer还提供了包含Apache Tomcat的版本,以及使用可执行程序安装的版本。不过从底层开发者的角度出发,推荐使用第一种方式进行安装。

1.安装配置Java

考虑到Java8仍然是使用最广泛的版本(尤其是国内),因此我们还是安装Java8的版本。在Oracle官方网站的Java下载页https://www.oracle.com/java/technologies/downloads/ 找到Java8的安装包并下载,如下图所示:

运行安装包程序,如下图所示。应该来说整个安装过程没有什么特别的,跟安装普通的程序差不多,点击下一步就行了。

安装完成后需要配置环境变量。环境变量主要是为了系统能够识别安装好的组件(.dll)和程序(.exe)。不同的基于JAVA的组件要求的JAVA环境配置可能略有不同,但对于我们使用的Web服务器Apache Tomcat来说,要求有一个环境变量JAVA_HOME,因此我们可以配置如下环境变量,如下图所示:

另外,对于Java本身来说,javac.exe(代码编译文件)和java.exe(代码执行文件)是最重要的两个可执行文件,它们存放在安装目录的bin目录下。我们将这个bin目录配置到Path环境变量中,如下图所示:

我们打开系统的CMD或者Powershell,输入:

java -version

如果准确输出Java的版本号,就说明Java环境安装成功了。例如笔者这里提示的是:

java version "1.8.0_271"
Java(TM) SE Runtime Environment (build 1.8.0_271-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.271-b09, mixed mode)

2 安装配置Tomcat

进入Apache Tomcat的官方主页https://tomcat.apache.org/ ,目前Tomcat并行维护了多个版本,这里笔者使用的是Tomcat8,也推荐读者下载使用这个版本,如下图所示:

将下载后的压缩包解压出来,进入bin目录,双击运行startup.bat。此时会弹出命令提示符对话框。如果前面Java环境安装的正确的话,就先有服务器成功启动的提示,如下图所示:

如果命令提示符对话框中文是乱码,就说明字符编码有问题。原因是Java Web项目一般使用Utf-8字符编码,而Windows环境往往是本地编码(GBK)。所有解决方案有两个,一个是设置命令提示符对话框的编码为Utf-8;另外一个是在conf目录下找到输出配置文件logging.properties,修改控制台输出日志编码为GBK:

java.util.logging.ConsoleHandler.encoding = GBK

服务器启动成功后在浏览器输出网址:http://localhost:8080/ ,页面会显示Tomcat主页,如下图所示。如果没有下图所示的页面出来,就说明Tomcat环境配置有问题,可以在命令提示符对话框中检查是否有相应的提示。

另一个很容易出现的问题就是Tomcat的默认端口号8080被其他程序占用。此时就需要取消掉占用端口号的程序,或者给Tomcat修改新的端口号,读者可以自行查询相关资料解决。

3 安装配置GeoServer

根据GeoServer官方主页的提示,如果我们使用Java8环境,那么GeoServer的适配版本在2.9.x到2.22.x之间。关于这一点一定要注意,理论上总是说可以向下兼容,但进行实践的时候似乎总是很难做到。因此我们进入GeoServer的官方下载页https://geoserver.org/download/ ,选择最新的2.22.5版本进行下载,如下图所示:

由于我们已经将Java环境和Tomcat环境安装配置好了,因此我们只需要下载GeoServer的Web Archive,也就是Java Web项目的war包。下载成功后,我们先关闭刚才启动的Tomcat命令提示符窗口,将这个war包放置在Tomcat安装目录下的webapps文件夹中,如下图所示:

像之前一样,双击运行startup.bat,重新启动Tomcat服务器。这个时候Tomcat会将war包里面的内容解压出来,进行GeoServer项目的部署发布。Tomcat的命令提示符窗口会显示这个发布过程,通常需要等待一段时间,直到提示服务器运行成功。如果部署GeoServer的过程没有什么错误提示,就说明GeoServer项目成功发布了。如下图所示:

这时,我们在浏览器中输出地址:http://localhost:8080/geoserver ,会出现如下图所示的页面。可以看到这个主页中列出了GeoServer所支持的GIS地图服务,包括WMS、WFS、WMTS以及TMS。