GeoServer集成GeoWebcache报错:不存在工作区‘gwc/service’
解决GeoServer 2.12.1集成GeoWebCache的切片预览异常与工作区报错问题
我之前在Ubuntu环境下用GeoServer 2.12.x版本时也碰到过几乎一模一样的问题,结合你给出的报错信息和现象来看,核心问题出在GeoWebCache(GWC)的服务路径映射错误以及图层工作区关联异常上,给你几个针对性的排查和解决步骤:
1. 修复GWC的Servlet路径映射(解决"No such workspace 'gwc/service'"报错)
这个报错里的gwc/service是关键线索——GeoServer集成的GWC默认上下文路径是/gwc,如果配置被误修改,就会导致系统把路径片段当成工作区名称去查找,自然找不到。
- 打开GeoServer安装目录下的
webapps/geoserver/WEB-INF/web.xml文件; - 搜索
GWCServlet的映射配置,确保它是如下格式:<servlet-mapping> <servlet-name>GWCServlet</servlet-name> <url-pattern>/gwc/*</url-pattern> </servlet-mapping> - 保存文件后重启GeoServer,再尝试缩放预览。
2. 验证GWC图层的工作区关联配置
预览切片失败很大概率是因为GWC没有正确关联GeoServer里的图层及其工作区:
- 登录GeoServer后台,进入
数据 > 工作区,确认你要切片的图层所属的工作区存在,且名称没有拼写错误; - 进入
GeoWebCache > 图层,编辑有问题的切片图层,检查源图层是否选择了[工作区名称]:[图层名称]的完整格式(比如cite:buildings),而不是单独的图层名或者错误的工作区。
3. 清理GWC缓存并重置配置(解决磁盘统计无数据与预览空白)
有时候缓存文件损坏或者配置缓存冲突会导致统计无数据、预览空白:
- 先停止GeoServer服务;
- 找到GeoServer数据目录下的
gwc文件夹(默认路径是GEOSERVER_DATA_DIR/gwc),删除里面的所有文件和子文件夹(包括缓存切片、gwc.xml、layers.xml等配置文件); - 重启GeoServer,重新配置GWC图层并触发切片生成,之后再查看磁盘统计和预览效果。
4. 检查缓存目录权限
磁盘统计无数据也可能是GWC没有权限写入缓存文件:
- 用终端执行以下命令,给缓存目录赋予正确的读写权限(替换成你的实际路径):
sudo chown -R $USER:$USER /path/to/geoserver_data_dir/gwc sudo chmod -R 755 /path/to/geoserver_data_dir/gwc
先优先解决工作区报错的问题,这个是核心异常,解决后预览和磁盘统计的问题通常会跟着修复。如果还是不行,可以尝试升级到GeoServer 2.12.x的最新小版本(比如2.12.6),这个版本修复了不少GWC的已知bug。
内容的提问来源于stack exchange,提问作者cj devin
相关产品推荐
相关产品推荐

