1 JDK的选择

我使用了adopted openjdk8.0.252,安装简便,只需添加2个环境变量(JAVA_HOME,JRE_HOME)即可。

我的安装路径:

C:\SDKs\adoptopen-jdk8.0.252

所以环境变量:

环境变量名
JAVA_HOME C:\SDKs\adoptopen-jdk8.0.252\
JRE_HOME C:\SDKs\adoptopen-jdk8.0.252\jre

2 Jetty 9

选择的理由是尝鲜,看看部署起来和tomcat有什么区别,虽然不是后端开发出身,不过喜欢体验新组合新事物。

2.16的geoserver预编译包用的都是jetty了,就是下载的那个带bin字样的zip包。

安装路径:C:\WebServers\jetty-distribution-9.4.28.v20200408

修改端口

默认端口是8080,我打算改成6700

打开安装路径下的start.ini

找到注释行:

# jetty.http.port=8080

解开注释,修改端口:

jetty.http.port=6700

作为Windows服务启动

不想每次都双击start.jar文件,Windows服务是一个不错的选择。

到github上下载一个叫Winsw的小工具,仓库地址:

https://github.com/winsw/winsw

到release页面下载合适的版本即可,把下载到的exe程序放到安装路径下,创建与exe文件名一样的xml文件:

<!-- 假设exe文件名被我改成winsw.exe,那么这个xml的文件名就是winsw.xml -->
<service>
<id>Jetty9</id>
<name>Apache Jetty 9</name>
<description>你的描述</description>
<executable>java</executable>
<arguments>-jar start.jar</arguments>
</service>

id、name、description都可以自己写,只要你认得就可以,id要唯一。

executable是可执行程序,arguments是可执行程序传入的参数,这里就是说用java.exe程序执行参数-jar start.jar

当然,如果没有JAVA_HOME配置环境变量,那么就要写全java程序的绝对路径了。因为这个xml文件和start.jar同级,start.jar的路径就不需要绝对路径了。

然后打开cmd,定位到安装目录下,执行下列命令:

winsw.exe install

就能安装成Windows服务了:

3 war包安装geoserver

这一步很简单,下载stable版本的geoserver-war包,放到jetty安装目录下的webapps目录下,重启jetty服务,过一会儿,访问这个路径就可以了:

http://localhost:6700/geoserver

4 跨域和gwc、默认数据路径配置

jetty9有个和tomcat9不太一样的地方,就是war包不会解压到webapps下,会解压到一个系统临时目录去。

这对于要增加geoserver插件、修改geoserver配置的任务来说,有点不对劲。

查了查资料,jetty和tomcat对war包的处理方式并不一样。

引用资料

jetty中处理war包解压的代码是:org.eclipse.jetty.util.resource.JarResource。使用JarInputStream来读取war文件,JarInputStream是首先处理可选的META-INF/MANIFEST.MF文件,也就是说getNextJarEntry方法不可能处理META-INF/MANIFEST.MF文件了,因此jetty会在处理完所有的JarEntry后,自己处理META-INF/MANIFEST.MF文件。但是,这样做的后果就是,不能设置解压出来的META-INF/MANIFEST.MF文件的最后修改时间。

tomcat中处理war包解压的代码:org.apache.catalina.startup.ExpandWar。使用JarFile来读取war文件,这样可以获得war中所有的JarEntry,不需要自己去处理META-INF/MANIFEST.MF文件。

显然,tomcat的做法更合理一些,其保证了解压出来的文件具有和war中文件一样的最后修改时间。

解压到jetty安装目录

在jetty安装目录下创建work文件夹,重启jetty后就能看到war包解压的文件了。

点进去就能找到WEB-INF/web.xml文件了,也能加jar包扩展geoserver了。

跨域很好解决,把WEB-INF/web.xml内有关的配置解开注释即可,与tomcat配置法相同,不再赘述(需要添加额外的jar包请自己下载)。

gwc缓存路径设置

打开WEB-INF/web.xml后,添加一项:

重启后,GWC的缓存路径就重新定向了,妈妈再也不用担心我的webapp越来越肥。

GEOSERVER_DATADIR也一样。

版权所有,自主研究,转载请评论或私信告知。 https://www.cnblogs.com/onsummer/p/12940750.html

更多GIS运维、开发博客见小专栏:https://xiaozhuanlan.com/gishome

GeoServer2.17与Jetty9在Windows上的最佳安装实践的更多相关文章

  1. windows上zend server安装 报The server encountered an internal error or misconfiguration and was unable to complete your request -解决方法 摘自网络

    windows上zend server安装完成后报如下错误:   Internal Server Error The server encountered an internal error or m ...

  2. windows上redis的安装和配置

    windows上redis的安装和配置 进入到Redis的根目录D:\Programming\Redis\Redis6379\Redis-x64-3.2.100底下操作: 配置文件启动 redis-s ...

  3. 在windows上极简安装GPU版AI框架(Tensorflow、Pytorch)

    在windows上极简安装GPU版AI框架 如果我们想在windows系统上安装GPU版本的AI框架,比如GPU版本的tesnorflow,通常我们会看到类似下面的安装教程 官方版本 安装CUDA 安 ...

  4. Windows上Python3.5安装Scrapy(lxml) 以及与twisted有关错误的解决

    转载于:http://www.cnblogs.com/silverbullet11/p/4966608.html 常用网址: Python 3.5: https://www.python.org/do ...

  5. Windows上Python3.5安装Scrapy(lxml)

    常用网址: Python 3.5: https://www.python.org/downloads/ Wheel文件:http://www.lfd.uci.edu/~gohlke/pythonlib ...

  6. Windows上Nginx的安装教程详解

    一 背景 为了方便本地的开发和验证,于是整理了这一篇Windows上安装Nginx的博文,建议一般学习还是使用Linux,一般正规公司都是在Linux上安装Nginx服务! 本篇内容相对比较简单,如果 ...

  7. windows上,python安装非官方包,提示error: Unable to find vcvarsall.bat

    在windows机器上安装python非官方包,如果环境只是用于开发,不作任何测试的话,最好的解决办法是: 在Linux上pip安装好之后,把python根目录lib/python3.6/site-p ...

  8. Windows上Python2.7安装Scrapy过程

    需要执行: pip install scrapy pip install requests 在Windows下用pip安装Scrapy报如下错误,看错误提示就知道去http://aka.ms/vcpy ...

  9. windows上python的安装

    一,python3.X的点击式安装 第一次写博客,我就是想记载一下自己对Python的探索过程,理解过程,学习过程,我接触python已经一年多了,但是真正的学习摸索是半年前,现在才走上正轨,这是我刚 ...

随机推荐

  1. vue项目中使用bpmn-基础篇

    内容概述 本系列“vue项目中使用bpmn-xxxx”分为五篇,均为自己使用过程中用到的实例,手工原创,目前属于陆续更新中.主要包括vue项目中bpmn使用实例.应用技巧.基本知识点总结和需要注意事项 ...

  2. cmd命令行中无pip命令的解决办法

    cmd命令行中无pip命令的解决办法 只需简单的两步即可,按顺序执行以下命令(在cmd中): python -m ensurepip python -m pip install --upgrade p ...

  3. 本周ASP.NET英文技术文章推荐[02/03 - 02/16]:MVC、Visual Studio 2008、安全性、性能、LINQ to JavaScript、jQuery...

    摘要 继续坚持,继续推荐.本期共有9篇文章: 最新的ASP.NET MVC框架开发计划 Visual Studio 2008 Web开发相关的Hotfix发布 ASP.NET安全性教程系列 ASP.N ...

  4. 【阅读笔记】Ranking Relevance in Yahoo Search (二)—— maching learned ranking

    3. MACHINE LEARNED RANKING 1) 完全使用不好的数据去训练模型不可行,因为负面结果不可能覆盖到所有方面: 2) 搜索可以看做是个二分问题,在此实验中,我们使用gradient ...

  5. CodeForces - 1047CEnlarge GCD(这题很难,快来看题解,超级详细,骗浏览量)

    C. Enlarge GCD time limit per test1 second memory limit per test256 megabytes inputstandard input ou ...

  6. python(读取 excel 操作 xlrd 模块)

    一.安装 xlrd 模块 到 python 官网下载 http://pypi.python.org/pypi/xlrd 模块安装,前提是已经安装了 python 环境. 或者在 cmd 窗口  pip ...

  7. ASP.NET Core 如何使用Mvc相关技术建立Controller、Tag Helper (下)

    上篇文章介绍了通过定义两个接口和服务类,分别实现这两个接口,并且进行了一个服务的注册. 今天就来建立Controller 接下来就是在控制器中通过构造函数的方式注入接口(见代码块6行) 代码块2行的意 ...

  8. 软件——IDEA 超实用使用技巧分享

    前言 工欲善其事 ​必先利其器 最近受部门的邀请,给入职新人统一培训IDEA,发现有很多新人虽然日常开发使用的是IDEA,但是还是很多好用的技巧没有用到,只是用到一些基本的功能,蛮浪费IDEA这个优秀 ...

  9. TSP变形(三进制状压)

    题目:HDU3001 #include <bits/stdc++.h> using namespace std; ],vis[][],dis[][]; ][]; void init()// ...

  10. saltstack升级

    1.背景 saltstack出现安全漏洞,5.1前后爆出很多设备已经变成矿机. 2.处理方法 升级到最新版本salt 3.官方升级方法 yum install https://repo.saltsta ...