sourcepole/qwc-qgis-serverQWC QGIS Server是QWC(QGIS Web Client)服务套件的核心组件,基于开源QGIS Server构建,专注于提供稳定、高效的Web地图服务。作为QWC生态的关键部分,该镜像集成了QGIS Server的地图渲染能力与QWC服务的协同特性,可快速部署为WebGIS系统的地图服务后端,支持标准地理信息服务协议,满足各类Web地图应用的服务需求。
通过以下命令快速启动容器,提供基础地图服务:
bashdocker run -d \ --name qwc-qgis-server \ -p 8000:80 \ -v /path/to/local/qgis/projects:/etc/qgis/projects \ qwc-services/qwc-qgis-server
-p 8000:80:端口映射,将容器内80端口(默认服务端口)映射到主机8000端口,通过http://localhost:8000访问服务。-v /path/to/local/qgis/projects:/etc/qgis/projects:挂载本地QGIS项目目录,容器通过该路径读取地图项目文件(.qgs/.qgz格式)。在QWC服务套件部署中,通常与其他组件协同工作,以下是典型的docker-compose.yml配置片段:
yamlversion: '3' services: qgis-server: image: qwc-services/qwc-qgis-server container_name: qwc-qgis-server ports: - "8000:80" volumes: - ./qgis-projects:/etc/qgis/projects # 本地QGIS项目目录 - ./qgis-cache:/var/cache/qgis-server # 可选,地图缓存目录 environment: - QGIS_SERVER_LOG_LEVEL=0 # 日志级别:0=info, 1=warning, 2=error, 3=critical - QGIS_PROJECTS_PATH=/etc/qgis/projects # 项目文件路径(容器内) - MAX_THREADS=8 # 并发线程数,根据服务器CPU核心数调整 - QGIS_SERVER_TIMEOUT=60 # 服务超时时间(秒) restart: unless-stopped
通过环境变量或配置文件调整服务行为,常用参数如下:
| 参数名 | 描述 | 默认值 |
|---|---|---|
QGIS_PROJECTS_PATH | 容器内QGIS项目文件存放路径 | /etc/qgis/projects |
QGIS_SERVER_LOG_LEVEL | 日志输出级别 | 0(info) |
MAX_THREADS | 最大并发处理线程数,影响服务并发能力 | 4 |
QGIS_SERVER_TIMEOUT | 单个请求超时时间(秒) | 30 |
WMS_SERVICE_URL | 自定义WMS服务基础URL(用于服务元数据) | http://localhost:80/wms |
服务启动后,可通过以下URL验证运行状态(替换localhost:8000为实际部署地址):
获取服务能力元数据(WMS):
http://localhost:8000/wms?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities
访问特定项目服务:
若挂载的项目目录中存在my_project.qgz,可通过http://localhost:8000/ows/my_project?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities获取该项目的服务元数据。
www-data)有读取权限,避免因权限问题导致服务无法加载项目。MAX_THREADS参数(一般设置为CPU核心数的1-2倍),并考虑启用地图缓存(通过挂载缓存目录实现)。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务