0

我用 tomcat9 包重新安装了 debian buster。

我想在其上部署 GeoWebCache 应用程序(最新 1.15 版本),它需要一个具有读写访问权限的目录才能存储配置文件、生成的缓存、...

我创建目录 /opt/gwc_cachedir 并为其设置 777 权限:

# chmod -R 777 /opt/gwc_cachedir

并将我的配置文件(geowebcache.xml)放入目录中,也具有 777 权限。

启动 tomcat 实例时,日志显示 /opt/gwc_cachedir 目录不可写:

ERROR [storage.DefaultStorageFinder] - Found Java environment variable GEOWEBCACHE_CACHE_DIR set to /opt/gwc_cachedir/ , which is not writeable

这似乎是由对返回 false 的 canWrite 函数的调用引起的:

https://github.com/GeoWebCache/geowebcache/blob/f921c79adc24783cc445cf3ba0349b9bcd2a2421/geowebcache/core/src/main/java/org/geowebcache/storage/DefaultStorageFinder.java#L134

我不明白为什么它返回 false 因为 /opt/gwc_cachedir 有 777 权限。

4

1 回答 1

0

似乎不允许用于运行 tomcat9 进程的用户或组写入您的缓存目录。

检查/etc/systemd/system/tomcat.service以查看 tomcat 进程将作为哪个组和用户运行。

很可能是

User=tomcat
Group=tomcat

...在这种情况下,只需将缓存目录的所有者更改为tomcat

sudo chown -R tomcat: /opt/gwc_cachedir/

或者它是 Java 的安全管理器停止访问...解决方案仍在等待中...

于 2019-08-29T09:57:42.480 回答