我使用了adopted openjdk8.0.252,安裝簡便,只需添加2個環境變量(JAVA_HOME,JRE_HOME)便可。html
個人安裝路徑:java
C:\SDKs\adoptopen-jdk8.0.252
git
因此環境變量:github
環境變量名 | 值 |
---|---|
JAVA_HOME |
C:\SDKs\adoptopen-jdk8.0.252\ |
JRE_HOME |
C:\SDKs\adoptopen-jdk8.0.252\jre |
選擇的理由是嚐鮮,看看部署起來和tomcat有什麼區別,雖然不是後端開發出身,不過喜歡體驗新組合新事物。web
2.16的geoserver預編譯包用的都是jetty了,就是下載的那個帶bin字樣的zip包。shell
安裝路徑:C:\WebServers\jetty-distribution-9.4.28.v20200408
apache
默認端口是8080,我打算改爲6700windows
打開安裝路徑下的start.ini
後端
找到註釋行:跨域
# jetty.http.port=8080
解開註釋,修改端口:
jetty.http.port=6700
不想每次都雙擊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服務了:
這一步很簡單,下載stable版本的geoserver-war包,放到jetty安裝目錄下的webapps目錄下,重啓jetty服務,過一下子,訪問這個路徑就能夠了:
http://localhost:6700/geoserver
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安裝目錄下建立work
文件夾,重啓jetty後就能看到war包解壓的文件了。
點進去就能找到WEB-INF/web.xml
文件了,也能加jar包擴展geoserver了。
跨域很好解決,把WEB-INF/web.xml
內有關的配置解開註釋便可,與tomcat配置法相同,再也不贅述(須要添加額外的jar包請本身下載)。
打開WEB-INF/web.xml
後,添加一項:
重啓後,GWC的緩存路徑就從新定向了,媽媽不再用擔憂個人webapp愈來愈肥。
GEOSERVER_DATADIR也同樣。
版權全部,自主研究,轉載請評論或私信告知。 http://www.javashuo.com/article/p-pgspuzmp-mo.html
更多GIS運維、開發博客見小專欄:https://xiaozhuanlan.com/gishome