CONFIG¶
从MapServer 8.0开始,MapServer具有所需的全局配置文件,该文件通过 RFC 135 ,它的目的是使配置MapServer更加安全和直接。可以使用环境变量设置配置文件路径 MAPSERVER_CONFIG_FILE
。也可以在编译时为不同的发行版设置默认位置。
小技巧
例如,在Ubuntu上从源代码编译时,默认情况下,MapServer将在以下位置安装示例配置文件 /usr/local/etc/mapserver-sample.conf ,并且您必须将该文件重命名为 mapserver.conf 。
小技巧
对于MS4W用户(版本>=5),可以在以下位置找到配置文件 /ms4w/ms4w.conf
如果MapServer找不到配置文件,则会返回如下错误:
msLoadConfig(): Unable to access file.
小技巧
命令行实用程序map2img有一个开关 -conf 要设置配置文件的名称,请执行以下操作。
配置文件由MapServer CGI在运行时加载,并为所有映射文件提供站点级配置。配置文件有3个部分,详述如下。
- ENV
此块允许将环境变量存储为名称值对-请参见 Environment Variables 有关所有可用选项的页面。在引入配置文件之前,不同平台对环境变量的支持有所不同。
ENV MS_MAP_PATTERN "^/opt/mapserver" ## required END
- MAPS
此块允许将键值映射到映射文件路径。如果
MS_MAP_NO_PATH
然后设置环境变量 only 这些密钥可用于map=
CGI参数。键的使用还有助于简化OGC API URL,例如键itasca
可以用来代替URL中的映射文件路径,例如:ITASCA键不区分大小写-“http://localhost/mapserver/itasca/ogcapi/collections”和“Itasca”的处理方式相同。MAPS ITASCA "/opt/mapserver/mapserver-demo/itasca.map" TEST_MAPFILE "/opt/mapserver/test/test.map" END
- PLUGINS
此块允许将键值映射到插件库路径。例如, MS SQL Plugin 。此插件注册表避免了映射文件加载可能不安全的库。
PLUGINS "mssql" "C:\MapServer\bin\ms\plugins\mssql2008\msplugin_mssql2008.dll" END
配置文件的完整示例如下所示:
#
# Sample MapServer 8.0 Config File
#
CONFIG
#
# Environment variables
#
ENV
#
# Limit Mapfile Access
#
# MS_MAP_NO_PATH "1"
MS_MAP_PATTERN "^/opt/mapserver" ## required
# MS_MAP_BAD_PATTERN "[/\\]{2}|[/\\]?\\.+[/\\]|,"
#
# Global Log/Debug Setup
#
# MS_DEBUGLEVEL "5"
# MS_ERRORFILE "/opt/mapserver/logs/mapserver.log"
#
# Proj Library
#
# PROJ_LIB "/usr/local/share/proj"
#
# Default Map
#
# MS_MAPFILE "/opt/mapserver/test/test.map"
# disable POST requests (allowed by default, any value will do)
# MS_NO_POST "1"
# do not display mapserv version info for OGC requests etc.
# MS_NO_VERSION "1"
#
# Other Options
#
# MS_ENCRYPTION_KEY "/opt/mapserver/mykey.txt"
# MS_USE_GLOBAL_FT_CACHE 1 # use a global font cache
# MS_PDF_CREATION_DATE "01/02/2022" # PDF create date metadata
# MS_MAPFILE_PATTERN "\.map$"
# MS_XMLMAPFILE_XSLT "/path/to/mapfile.xsl"
# MS_MODE "BROWSE" # default mode for CGI calls
# MS_OPENLAYERS_JS_URL "http://openlayers.org/api/OpenLayers.js"
# MS_TEMPPATH "/tmp"
# MS_MAX_OPEN_FILES 200 # maximum number of open files allowed on Windows
END
#
# Map aliases
#
MAPS
TEST_MAPFILE "/opt/mapserver/test/test.map"
END
END