Geoserver(一 安装)

本文最后更新于:2023年11月30日 下午

一、什么是GeoServer

用于专门分享地理空间数据的开源服务器

二、安装

  1. 安装环境需要Java 推荐安装JDK 华为JDK镜像

  2. 下载TomCat TomCat官方网站 Apache Tomcat® - Welcome!

    Tomcat简单的说就是一个运行JAVA的网络服务器,底层是Socket的一个程序,它也是JSP和Serlvet的一个容器。

    • JSP(JavaServer Page):JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分。JSP通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。

    • Servlet: Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。

      使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。

    tomcat和servlet在网络中的位置
  3. 下载Geoserver

    GeoServer官方网站

三、配置

  1. Java、TomCat、GeoServer的版本匹配问题 参考如下,三者的安装版本必须要匹配,不然容易出问题
Java JDK与Geoserver版本
TomCat版本
  1. Java环境变量的配置

    • 系统变量
    系统变量
    • 系统变量中Path
    Path
  2. TomCat安装

    • 一路Next
  3. GeoServer安装

    1. Windows installer.exe文件安装 (不推荐)
    2. 通过war包导入TomCat安装(推荐)
    • 将war包放入tomcat
    • 运行bin/startup.bat
    • 内部网址:localhost:端口号/geoserver
    1. 需要注意Geoserver和Java以及Tomcat版本的匹配问题
    • 测试版本:
      • Tomcat 9
      • Java 8
      • Geoserver 2.22.1

四、遇到的问题

  1. 运行startup.bat程序秒退,服务不能成功启动

    • 解决方法
      • 检查环境变量是否配置好 控制台输入 java、Java -version、javac测试
      • 检查Java JDK、TomCat、GeoServer版本是否对应 e.g. JDK8 TomCat8
  2. 运行startup.bat中文乱码问题

    • windows下的cmd的默认编码是GBK编码,Tomcat控制台默认输出设置为UTF-8编码

    • 解决方法

      • (方式一)修改CMD命令行的编码格式为UTF-8

      • (方式二)将tomcat控制台日志输出编码格式更改为GBK,修改tomcat根目录下conf/logging.properties文件中的ConsoleHandler.encoding=utf-8,这种方式能解决cmd控制台中文乱码,但不建议使用

      • 因为更改了tomcat默认编码,如果我们使用idea启动tomcat,idea的默认编码不是GBK,就会同样产生idea控制台下tomcat乱码问题

  3. 跨域问题

    • 在Vue中设置跨域

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    /* 
    vue网页
    http://127.0.0.1:5013
    Geoserver界面
    http://127.0.0.1:8080/geoserver

    WMS服务地址
    http://127.0.0.1:8080/geoserver/ne/wms?service=WMS&version=1.1.0&request=GetMap&layers=ne%3Aworld&bbox=-180.0%2C-90.0%2C180.0%2C90.0&width=768&height=384&srs=EPSG%3A4326&styles=&format=application/openlayers


    流程:
    vue页面 http://127.0.0.1:5013
    -->请求 http://127.0.0.1:5013/api/geoserver/topp/wms?transparent=true&format=image%2Fpng&service=WMS&version=1.1.1&request=GetMap&styles=&layers=topp%3Astates&bbox=-90%2C0%2C-67.5%2C22.5&width=256&height=256&srs=EPSG%3A4326
    -->代理到 http://localhost:8080/geoserver/topp/wms?transparent=true&format=image%2Fpng&service=WMS&version=1.1.1&request=GetMap&styles=&layers=topp%3Astates&bbox=-90%2C0%2C-67.5%2C22.5&width=256&height=256&srs=EPSG%3A4326

    中间过程:
    http://127.0.0.1:5013/api/
    -->
    http://127.0.0.1:8080
    */


    //vite.config.js
    import { defineConfig } from 'vite'
    import vue from '@vitejs/plugin-vue'
    import cesium from 'vite-plugin-cesium'

    // https://vitejs.dev/config/
    export default defineConfig({
    plugins: [vue(),cesium()],
    server: {
    port:5013,//设置服务启动端口号,是一个可选项,不要设置为本机的端口号,可能会发生冲突
    open:true,//是否自动打开浏览器,可选项
    cors:true,//允许跨域。
    // 设置代理
    proxy: {
    // 将请求代理到另一个服务器
    '/api': {
    target: 'http://127.0.0.1:8080',//这是你要跨域请求的地址前缀
    changeOrigin: true,//开启跨域
    rewrite: path => path.replace(/^\/api/, ''),//去除前缀api
    }
    }
    }
    })

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    //加载WMS服务
    const wms = new Cesium.WebMapServiceImageryProvider({
    url:
    "/api/geoserver/topp/wms",
    layers: "topp:states",
    parameters: {
    transparent: true,
    format: "image/png",
    },
    })


Geoserver(一 安装)
https://anonymouslosty.ink/2022/07/05/Geoserver/
作者
Ling yi
发布于
2022年7月5日
更新于
2023年11月30日
许可协议