1. 环境准备

笔者此次使用的Linux系统是CentOS 8 ,没错,目前已经停止维护,但就操作而言,和其他Linux发行版大同小异

目前的GeoServer版本是2.21

1.1 Git环境

yum install git

Git用来获取GitHub上的源代码

1.2 Maven环境

yum install maven

Maven是GeoServer使用的管理工具

同时,Maven依赖于Java,yum在安装Maven时也下载好了Java 1.8

[root@3a310ba0df96 /]# java -version
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)

1.3 拉取GeoServer源代码

GeoServer源代码:https://github.com/geoserver/geoserver

git clone https://github.com/geoserver/geoserver.git

1.4 使用Maven构建

参考官方手册:https://docs.geoserver.org/latest/en/developer/quickstart/maven.html

官方Github构建指南:https://github.com/geoserver/geoserver#building

cd geoserver/src
mvn install -D skipTests -T 2C

等待Maven下载jar包,直到构建完成:

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] GeoServer 2.21-SNAPSHOT ............................ SUCCESS [ 8.281 s]
[INFO] Core Platform Module ............................... SUCCESS [ 3.460 s]
[INFO] Open Web Service Module ............................ SUCCESS [ 0.684 s]
[INFO] Main Module ........................................ SUCCESS [04:19 min]
[INFO] GeoServer Security Modules ......................... SUCCESS [ 3.105 s]
[INFO] GeoServer Security Tests Module .................... SUCCESS [ 4.552 s]
[INFO] GeoServer JDBC Security Module ..................... SUCCESS [ 45.418 s]
[INFO] GeoServer LDAP Security Module ..................... SUCCESS [ 49.383 s]
[INFO] Web Coverage Service Module ........................ SUCCESS [ 3.819 s]
[INFO] Web Coverage Service 1.0 Module .................... SUCCESS [ 47.645 s]
[INFO] Web Coverage Service 1.1 Module .................... SUCCESS [ 50.148 s]
[INFO] Web Coverage Service 2.0 Module .................... SUCCESS [ 8.879 s]
[INFO] Web Feature Service Module ......................... SUCCESS [01:00 min]
[INFO] Web Map Service Module ............................. SUCCESS [01:43 min]
[INFO] KML support for GeoServer .......................... SUCCESS [ 7.563 s]
[INFO] gs-rest ............................................ SUCCESS [ 6.339 s]
[INFO] GeoWebCache (GWC) Module ........................... SUCCESS [ 46.647 s]
[INFO] gs-restconfig ...................................... SUCCESS [ 53.957 s]
[INFO] gs-restconfig-wcs .................................. SUCCESS [ 1.968 s]
[INFO] gs-restconfig-wfs .................................. SUCCESS [ 2.216 s]
[INFO] gs-restconfig-wms .................................. SUCCESS [ 1.335 s]
[INFO] WMTS REST configuration ............................ SUCCESS [ 1.512 s]
[INFO] GeoServer Web Modules .............................. SUCCESS [ 0.159 s]
[INFO] Core UI Module ..................................... SUCCESS [01:07 min]
[INFO] WMS UI Module ...................................... SUCCESS [ 3.021 s]
[INFO] GWC UI Module ...................................... SUCCESS [ 3.348 s]
[INFO] WFS UI Module ...................................... SUCCESS [ 1.546 s]
[INFO] Demos Module ....................................... SUCCESS [ 8.639 s]
[INFO] WCS UI Module ...................................... SUCCESS [ 1.684 s]
[INFO] Security UI Modules ................................ SUCCESS [ 0.108 s]
[INFO] Security UI Core Module ............................ SUCCESS [ 4.154 s]
[INFO] Security UI JDBC Module ............................ SUCCESS [ 1.378 s]
[INFO] Security UI LDAP Module ............................ SUCCESS [ 4.270 s]
[INFO] REST UI Module ..................................... SUCCESS [ 1.372 s]
[INFO] GeoServer Web Application .......................... SUCCESS [01:15 min]
[INFO] Community Space .................................... SUCCESS [ 0.161 s]
[INFO] GeoServer Extensions 2.21-SNAPSHOT ................. SUCCESS [ 0.133 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 09:22 min (Wall Clock)
[INFO] Finished at: 2022-04-23T03:56:07Z
[INFO] ------------------------------------------------------------------------

BTW:GeoServer是基于Spring框架构建的,目前Spring cloud如火如荼,GeoServer也在往这方面发展,详见:Cloud Native GeoServer, 不过,截至目前,该项目还未正式完成

1.5 运行GeoServer

切换目录:

cd web/app

运行GeoServer:

mvn jetty:run

等待Jetty启动完成,使用浏览器输入网址:http://localhost:8080/geoserver/

点击 图层预览,发现一个图层也没有哇:

2. 发布地图服务

此处笔者使用的是一个shapefile的线状矢量图层,数据来源于官方自带的示例数据,位于geoserver/data/release/data/shapefiles/states.shp

2.1 图层预览

在QGIS里,图层看起来是这样的:

2.2 登陆GeoServer

默认账户和密码:

  • 账户:admin
  • 密码:geoserver

2.3 创建一个新的工作空间

官方文档:工作区由名称和命名空间URI(统一资源标识符)定义。工作区名称限制为10个字符,不能包含空格。URI类似于URL,只是URI不需要指向web上的实际位置,只需要是唯一的标识符。对于工作区URI,我们建议使用与项目关联的URL,可能使用不同的尾随标识符。例如, http://www.openplans.org/topp 是“topp”工作区的URI

勾选授权所有人:

点击保存

2.4 添加存储数据

此处选择Shapefile:

选择或填写相应的数据:

点击保存

2.5 发布地图

点击发布:

边框部分可以从数据中计算,其他默认即可:

2.6 图层预览

点击图层预览:

在openlayers中预览地图:

3. 参考资料

GeoServer在Linux上源码安装、启动、发布地图服务的更多相关文章

  1. linux上源码安装python

    Linux安装Python2.7 以下例子基于python 2.7.9,其他版本同理.# 1.下载python# wget https://www.python.org/ftp/python/2.7. ...

  2. CentOS7(Linux)源码安装Redis

    介绍 项目中经常需要用到Redis做缓存数据库,可是还有小伙伴不会在Linux上安装Redis,毕竟我们开发的项目都是要在服务器上运行的,今天就来讲讲如何在CentOS7环境使用源码进行安装Redis ...

  3. Linux中源码安装编译Vim

    Linux中源码安装编译Vim Linux下学习工作少不了编辑器,Vim能使你的工作效率成倍的提高.在Ubuntu上安装vim使用命令直接安装很简单.但有时还是需要自己手动编译安装.例如: vim中的 ...

  4. linux 手动源码安装lnmp(亲测)

    linux 手动源码安装lnmp笔记(亲测)<pre>先安装这2个yum install gccyum install g++</pre><pre>先在linux ...

  5. linux下源码安装netcat

    linux下源码安装netcat http://blog.chinaunix.net/uid-20783755-id-4211230.html 1,下载netcat源码,netcat-0.7.1-13 ...

  6. [原创]在Centos7.2上源码安装PHP、Nginx、Zentao禅道

    版本 操作系统:CentOS Linux release 7.2.1511 (Core) PHP:5.6.33 Nginx:1.12.2 MySQL:5.6.38(192.168.1.103的Wind ...

  7. CentOS7(Linux)源码安装MySQL5.7.X

    介绍 软件应用最重要的就是数据库了,可是还有小伙伴不会在Linux上安装MySQL数据库,今天就来讲讲如何在CentOS7环境使用源码进行安装MySQL5.7.X. MySQL官网下载链接:https ...

  8. Linux下源码安装方式安装MySQL

    1.下载安装包:https://downloads.mysql.com/archives/community/  2.安装开发工具和安装包 因为要把源码编译成二进制数据,所以必须要有编译器和解释器 g ...

  9. Linux MySQL源码安装缺少ncurses-devel包

    在Red Hat Enterprise Linux Server release 5.7 上用源码安装MySQL-5.6.23时,遇到了" remove CMakeCache.txt and ...

  10. linux(centos)源码安装git

    最近使用一个开源库,部署的的时候需要用git克隆依赖库.刚好系统没安装git.就尝试了源码安装git. 源码下载地址:http://codemonkey.org.uk/projects/git-sna ...

随机推荐

  1. 【JUC】交换器Exchanger详解

    欢迎关注专栏[JAVA并发] 前言 JDK中提供了不少的同步工具,现在分享一个相对比较冷门的同步工具--交换器(Exchanger).你知道Exchanger的作用是什么吗?实现机制是什么?可以用来做 ...

  2. ChatGPT 可以联网了!浏览器插件下载

    Twitter 用户 An Qu 开发了一款新的 Chrome 插件帮助 ChatGPT 上网,安装插件以后 ChatGPT 就可以联!网!了! 简单来说开启插件后,他可以从网上搜索信息,并且根据用户 ...

  3. VMware ESXi 8.0 SLIC & Unlocker 集成网卡驱动和 NVMe 驱动 (集成驱动版)

    发布 ESXi 8.0 集成驱动版,在个人电脑上运行企业级工作负载 请访问原文链接:VMware ESXi 8.0 SLIC & Unlocker 集成网卡驱动和 NVMe 驱动 (集成驱动版 ...

  4. Qt栅格布局、ScrollArea和用户选择界面

    用户选择界面 就我们在实际开发的时候可能需要面对这样一个界面 做个demo试试看 其实我们可以分解一下这个界面 就是除了控制相关的内容,最主要的就是这个界面之上,有一个个动态的输入的控件,上面都是学生 ...

  5. List排序(降序)

    一.添加一个比较器 点击查看代码 import java.util.Comparator; /** * @Classname ComparatorResultType * @Description 排 ...

  6. 注意看,她叫小美,在地址栏输入URL地址后发生了什么?

    注意看,这个用户叫小美,他在地址栏输入了一串URL地址,然后竟然发生了不可思议的事情! 01.输入URL发生了什么? 从输入URL开始,到页面呈现出来,简单来说分为四个步骤: ① 建立连接:建立与服务 ...

  7. 安装node.js与webpack创建vue2项目

    本文为博主原创,转载请注明出处: 1.安装node.js 下载地址:http://nodejs.cn/download/ (可查看历史版本) node.js 中文网:http://nodejs.cn/ ...

  8. Python Kconfiglib初次学习

    1 参考 kconfiglib库官方介绍:kconfiglib · PyPI Kconfiglib源码:GitHub - ulfalizer/Kconfiglib: A flexible Python ...

  9. python31 网络并发编程方法

    同步与异步 用来表达任务的提交方式 同步 提交完任务之后原地等待任务的返回结果 期间不做任何事 异步 提交完任务之后不原地等待任务的返回结果 直接去做其他事 有结果自动通知 阻塞与非阻塞 用来表达任务 ...

  10. 这可能是Feign调用可重试的最佳方案了

    前言 在我们公司里,不同的服务之间通过Feign进行远程调用,但是,我们在尝试使调用可重试时遇到了一个小问题,Feign框架本身可以配置的自己的重试机制,但是它是一刀切的方式,所有的调用都是同样的机制 ...