设置数据目录位置¶
设置geoserver数据目录位置的过程取决于geoserver安装的类型。按照以下特定于目标平台的说明进行操作。
备注
如果未显式设置GeoServer数据目录的位置,则 data_dir
默认情况下,将在GeoServer安装的根目录下选择。
Windows¶
在Windows平台上,地理服务器数据目录的位置由 GEOSERVER_DATA_DIR
环境变量。
要设置环境变量:
打开系统控制面板。
点击 Advanced System Properties .
点击 Environment Variables .
单击
New
按钮并创建一个名为GEOSERVER_DATA_DIR
并将其设置到所需位置。
Linux系统¶
在Linux平台上,地理服务器数据目录的位置由 GEOSERVER_DATA_DIR
环境变量。可以使用以下命令(在终端中)设置变量:
export GEOSERVER_DATA_DIR=/var/lib/geoserver_data
要使变量持久化,请将命令放置在 .bash_profile
或 .bashrc
文件。确保对运行GeoServer的用户执行此操作。
Mac OS X¶
对于Mac OS X上的geoserver二进制安装,数据目录的设置方式与Linux相同。
对于Mac OS X安装,设置 GEOSERVER_DATA_DIR
环境变量到所需的目录位置。见 this page 有关如何在Mac OS X中设置环境变量的详细信息。
档案文件¶
在servlet容器内运行geoserver war时,可以通过多种方式指定数据目录。建议的方法是设置 servlet上下文参数 . 另一种选择是设置 Java系统特性 .
上下文参数¶
要使用servlet上下文参数指定数据目录,请创建以下 <context-param>
元素在 WEB-INF/web.xml
GeoServer应用程序的文件:
<web-app>
...
<context-param>
<param-name>GEOSERVER_DATA_DIR</param-name>
<param-value>/var/lib/geoserver_data</param-value>
</context-param>
...
</web-app>
Java系统特性¶
还可以用Java系统属性指定数据目录位置。这种方法在升级期间很有用,因为它避免了每次升级后都需要设置数据目录。
警告
使用Java系统属性通常为在servlet容器中运行的所有应用程序设置属性,而不仅仅是GeoServer。
设置Java系统属性的方法依赖于servlet容器:
为了 雄猫 ,编辑文件
bin/setclasspath.sh
在Tomcat安装的根目录下。指定GEOSERVER_DATA_DIR
通过设置CATALINA_OPTS
变量:CATALINA_OPTS="-DGEOSERVER_DATA_DIR=/var/lib/geoserver_data"
为了 玻璃鱼 ,编辑文件
domains/<<domain>>/config/domain.xml
在Glassfish装置的根部下面<<domain>>
指部署GeoServer web应用程序的域。添加<jvm-options>
元素内部<java-config>
元素:... <java-config> ... <jvm-options>-DGEOSERVER_DATA_DIR=/var/lib/geoserver_data</jvm-options> </java-config> ...
要求文件存在¶
如果数据目录位于网络文件系统上,出于安全原因,可能需要在geoserver启动之前要求一个或多个文件或目录存在,以防止geoserver在数据目录为空时掉入默认的不安全配置,因为网络资源的丢失。
要要求文件或目录存在,请使用上面的任何方法设置 GEOSERVER_REQUIRE_FILE
.不要指定装入点,因为如果网络文件系统不可用,这仍然存在;请指定一个文件或目录 里面 网络挂载。例如:
环境变量:
export GEOSERVER_REQUIRE_FILE=/mnt/server/geoserver_data/global.xml
servlet上下文参数:
<web-app>
...
<context-param>
<param-name>GEOSERVER_REQUIRE_FILE</param-name>
<param-value>/mnt/server/geoserver_data/global.xml</param-value>
</context-param>
...
</web-app>
Java系统属性:
CATALINA_OPTS="-DGEOSERVER_REQUIRE_FILE=/mnt/server/geoserver_data/global.xml"
多个文件¶
若要指定必须存在的多个文件或目录,请使用路径分隔符将它们分隔开 (:
在Linux上, ;
在Windows上):
环境变量:
export GEOSERVER_REQUIRE_FILE=/mnt/server/geoserver_data/global.xml:/mnt/server/data
servlet上下文参数:
<web-app>
...
<context-param>
<param-name>GEOSERVER_REQUIRE_FILE</param-name>
<param-value>/mnt/server/geoserver_data/global.xml:/mnt/server/data</param-value>
</context-param>
...
</web-app>
Java系统属性:
CATALINA_OPTS="-DGEOSERVER_REQUIRE_FILE=/mnt/server/geoserver_data/global.xml:/mnt/server/data"