windows server 2019安装geoserver 2.26.0配置nginx转发
本以为就是把war包往tomcat里一丢的事,没想到遇到不少问题,记录一下
一开始想装个tomcat然后用geoserver的war包部署,但tomcat启动之后geoserver启动失败,按理说应该有日志文件,但没找到,估计是版本问题,java 17+tomcat 10.1.31。
问题1 安装

虽然geoserver给的是java 17用tomcat 9.0.55,但我这tomcat都启动不了。。后端说java 17一般用tomcat10版本,换成10,tomcat启动成功,但是geoserver.war启动失败,tomcat日志里只有启动失败,没啥错误信息,在geoserver的目录下也没找到日志,遂放弃
问题2 样式报错
换成安装板的geoserver 2.25.3(Windows Installer),成功运行,但样式显示不出来,日志报错
java.lang.NoClassDefFoundError: Could not initialize class java.awt.GraphicsEnvironment$LocalGE
搜了一下,大概还是java版本适配问题
https://gis.stackexchange.com/questions/432408/geoserver-problems-with-java-18
干脆换成了2.26.0版本再试试,成了,样式正常
问题3 跨域
因为是安装版的geoserver,没法在tomcat里用传统手艺改跨域,在geoserver官网文档里搜了一下CORS,找到了

照着改,搞定
问题4 nginx代理
这里直接贴出来最后成功的代理配置
location /geoserver {
proxy_pass http://[ip]:[port]/geoserver;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
fastcgi_buffer_size 4k;
fastcgi_buffers 8 4k;
#proxy_pass http://mape.shanghai-map.net/arcgis/;
#index index.html index.htm;
# 指定允许跨域的方法,*代表所有
add_header Access-Control-Allow-Methods *;
# 预检命令的缓存,如果不缓存每次会发送两次请求
add_header Access-Control-Max-Age 3600;
# 带cookie请求需要加上这个字段,并设置为true
add_header Access-Control-Allow-Credentials true;
# 表示允许这个域跨域调用(客户端发送请求的域名和端口)
# $http_origin动态获取请求客户端请求的域 不用*的原因是带cookie的请求不支持*号
add_header Access-Control-Allow-Origin $http_origin;
# 表示请求头的字段 动态获取
add_header Access-Control-Allow-Headers
$http_access_control_request_headers;
}
注意:
- proxy_pass http://[ip]:[port]/geoserver; 后面不要加斜杠
- 有些文章这里只有个$host,会造成访问到80端口

- 如果配置了域名并使用80端口,我这里测试了一下打不开geoserver的配置页面(通过域名),试了一下把:$server_port去掉,配置页面还是打不开(内外网都打不开),但是外网可以正常获取服务数据了,这里涉及网络配置相关的不是很懂,遇到类似问题的试着来吧。
问题X
和主题无关,java环境变量的问题,这里也记一下
一开始装的java 21,版本太高tomcat和geoserver有问题,就换成了17,但我各种修改环境变量(JAVA_HOME,path),cmd里运行java -version出的都是21那个。
简直离谱
后来仔细看环境变量,最上面有个变量指向了这个文件夹
C:\Program Files\Common Files\Oracle\Java\javapath
看着就不对劲,删之,java变成17了
问题X.1
在powershell里运行cd命令报错,搜一下发现得用引号把路径括起来
后记
到底没搞清为啥war包部署不成,有时间在研究吧,在这上面浪费了太多时间了
更多推荐



所有评论(0)