18.2.4. Canfiguración avanzada¶
18.2.4.1. Registro¶
Para registrar las solicitudes enviadas al servidor, debe configurar las siguientes variables de entorno:
QGIS_SERVER_LOG_LEVEL
QGIS_SERVER_LOG_FILE
QGIS_SERVER_LOG_STDERR
Eche un vistazo a Variables de entorno para entender sus significados.
18.2.4.2. Variables de entorno¶
Puede configurar algunos aspectos de QGIS Server configurando ** variables de entorno **.
Según el servidor HTTP y cómo ejecute QGIS Server, hay varias formas de definir estas variables. Esto se describe completamente en Configuración del servidor HTTP.
Nombre |
Descripción |
Predeterminada |
Servicios |
---|---|---|---|
QGIS_OPTIONS_PATH |
Especifica la ruta al directorio con la configuración. Funciona de la misma manera que la opción |
“” |
Tofo |
QUERY_STRING |
La cadena de consulta, normalmente pasada por el servidor web. Esta variable puede ser útil al probar el binario del servidor QGIS desde la línea de comandos. Por ejemplo, para probar una solicitud GetCapabilities en la línea de comando para un proyecto que también requiere una conexión PostgreSQL definida en un archivo pg_service.conf: PGSERVICEFILE=/etc/pg_service.conf \
QUERY_STRING="MAP=/home/qgis/projects/world.qgs&SERVICE=WMS&REQUEST=GetCapabilities" \
/usr/lib/cgi-bin/qgis_mapserv.fcgi
El resultado debe ser el contenido de la respuesta GetCapabilities o, si algo está mal, un mensaje de error. |
“” |
Tofo |
QGIS_PROJECT_FILE |
El archivo de proyecto Tenga en cuenta que también puede indicar un proyecto almacenado en PostgreSQL, p. Ej. |
“” |
Tofo |
QGIS_SERVER_LOG_FILE |
Especifique la ruta y el nombre del archivo. Asegúrese de que el servidor tenga los permisos adecuados para escribir en el archivo. El archivo debe crearse automáticamente, solo envíe algunas solicitudes al servidor. Si no está allí, verifique los permisos. QGIS_SERVER_LOG_FILE está en desuso desde QGIS 3.4. La compatibilidad con el registro de archivos se eliminará en QGIS 4.0. |
“” |
Tofo |
QGIS_SERVER_LOG_STDERR |
Active el registro en stderr. Esta variable no tiene efecto cuando``QGIS_SERVER_LOG_FILE`` está establecido.
|
falso |
Tofo |
MAX_CACHE_LAYERS |
Especifica el número máximo de capas cacheadas (predeterminado |
100 |
Tofo |
QGIS_PLUGINPATH |
Útil si está utilizando complementos de Python para el servidor, esto establece la carpeta en la que se buscan complementos de Python. |
“” |
Tofo |
QGIS_SERVER_LOG_LEVEL |
Especifique el nivel de registro deseado. Los valores disponibles son:
|
0 |
Tofo |
QGIS_SERVER_PARALLEL_RENDERING |
Activa la representación en paralelo para las solicitudes WMS GetMap. Está deshabilitado (
|
falso |
WMS |
QGIS_SERVER_MAX_THREADS |
Número de subprocesos que se utilizarán cuando se active la representación en paralelo. Si el valor es |
-1 |
Tofo |
QGIS_SERVER_CACHE_DIRECTORY |
Especifica el directorio de caché de red en el sistema de archivos. |
|
Tofo |
QGIS_SERVER_CACHE_SIZE |
Establece el tamaño de la caché de la red en MB. |
50 MB |
Tofo |
QGIS_SERVER_OVERRIDE_SYSTEM_LOCALE |
Establece LOCALE para que lo utilice el servidor QGIS. El valor predeterminado está vacío (sin anulación). Ejemplo: |
“” |
Tofo |
QGIS_SERVER_SHOW_GROUP_SEPARATOR |
Define si se debe utilizar un separador de grupo (por ejemplo, un separador de miles) para valores numéricos (por ejemplo, en las respuestas GetFeatureInfo). El valor predeterminado es
|
falso |
WMS |
QGIS_SERVER_IGNORE_BAD_LAYERS |
Las capas «malas» son capas que no se pueden cargar. El comportamiento predeterminado de QGIS Server es considerar el proyecto como no disponible si contiene una capa incorrecta. El comportamiento predeterminado se puede anular estableciendo esta variable en |
falso |
Tofo |
QGIS_SERVER_WMS_MAX_HEIGHT / QGIS_SERVER_WMS_MAX_WIDTH |
Altura/anchura máxima para una solicitud WMS. Se utiliza el más conservador entre este y el del proyecto. Si el valor es |
-1 |
WMS |
QGIS_SERVER_API_RESOURCES_DIRECTORY |
Directorio base para todos los recursos estáticos de la API OGC (como OAPIF / WFS3) (plantillas HTML, CSS, JS, …) |
dependiente del empaquetado |
WFS |
QGIS_SERVER_API_WFS3_MAX_LIMIT |
Valor máximo de |
10000 |
WFS |
18.2.4.3. Resumen de configuración¶
Cuando QGIS Server se está iniciando, tiene un resumen de todos los parámetros configurables gracias a las variables de entorno. Además, también se muestra el valor utilizado actualmente y el origen.
Por ejemplo con spawn-fcgi:
export QGIS_OPTIONS_PATH=/home/user/.local/share/QGIS/QGIS3/profiles/default/
export QGIS_SERVER_LOG_FILE=/home/user/qserv.log
export QGIS_SERVER_LOG_LEVEL=2
spawn-fcgi -f /usr/lib/cgi-bin/qgis_mapserv.fcgi -s /tmp/qgisserver.sock -U www-data -G www-data -n
QGIS Server Settings:
- QGIS_OPTIONS_PATH / '' (Override the default path for user configuration): '/home/user/.local/share/QGIS/QGIS3/profiles/default/' (read from ENVIRONMENT_VARIABLE)
- QGIS_SERVER_PARALLEL_RENDERING / '/qgis/parallel_rendering' (Activate/Deactivate parallel rendering for WMS getMap request): 'true' (read from INI_FILE)
- QGIS_SERVER_MAX_THREADS / '/qgis/max_threads' (Number of threads to use when parallel rendering is activated): '4' (read from INI_FILE)
- QGIS_SERVER_LOG_LEVEL / '' (Log level): '2' (read from ENVIRONMENT_VARIABLE)
- QGIS_SERVER_LOG_FILE / '' (Log file): '/tmp/qserv.log' (read from ENVIRONMENT_VARIABLE)
- QGIS_PROJECT_FILE / '' (QGIS project file): '' (read from DEFAULT_VALUE)
- MAX_CACHE_LAYERS / '' (Specify the maximum number of cached layers): '100' (read from DEFAULT_VALUE)
- QGIS_SERVER_CACHE_DIRECTORY / '/cache/directory' (Specify the cache directory): '/root/.local/share/QGIS/QGIS3/profiles/default/cache' (read from DEFAULT_VALUE)
- QGIS_SERVER_CACHE_SIZE / '/cache/size' (Specify the cache size): '52428800' (read from INI_FILE)
Ini file used to initialize settings: /home/user/.local/share/QGIS/QGIS3/profiles/default/QGIS/QGIS3.ini
En este caso particular, sabemos que QGIS_SERVER_MAX_THREADS y QGIS_SERVER_PARALLEL_RENDERING los valores se leen del archivo ini que se encuentra en QGIS_OPTIONS_PATH directorio (que se define a través de una variable de entorno). Las entradas correspondientes en el archivo ini son /qgis/max_threads y /qgis/parallel_rendering y sus valores son true y 4 hilos.
18.2.4.4. Nombre corto para capas, grupos y proyecto¶
Varios elementos tienen tanto un <Name>
y un <Title>
. El Nombre es una cadena de texto que se usa para la comunicación de máquina a máquina, mientras que el Título es para beneficio de los humanos.
Por ejemplo, un conjunto de datos podría tener el título descriptivo “Temperatura atmosférica máxima” y solicitarse utilizando el Nombre abreviado “ATMAX”. El usuario ya puede establecer el título de las capas, los grupos y el proyecto.
El nombre de OWS se basa en el nombre utilizado en el árbol de capas. Este nombre es más una etiqueta para humanos que un nombre para la comunicación de máquina a máquina.
Servidor QGIS soporta:
ediciones de línea de nombre corto en las propiedades de las capas Puede cambiar esto haciendo clic derecho en una capa, elija: menuselection:Properties –> Metadata tab –> Description –> Short name.
Cuadro de diálogo de datos de WMS al grupo de árbol de capas (nombre corto, título, resumen)
Al hacer clic derecho en un grupo de capas y seleccionar la opción Establecer datos de grupo WMS, obtendrá:
Figura 18.15 Cuadro de diálogo Establecer grupo de datos WMS¶
ediciones de línea de nombre corto a las propiedades del proyecto: agregue un validador de expresiones regulares
"^[A-Za-z][A-Za-z0-9\._-]*"
para editar la línea de nombre corto accesible a través de un método estáticoagregar un validador de expresiones regulares
"^[A-Za-z][A-Za-z0-9\._-]*"
para editar la línea de nombre corto accesible a través de un método estáticoPuede elegir un nombre corto para la raíz del proyecto yendo a
.añadir un elemento
TreeName
en lafullProjectSettings
Si se ha establecido un nombre corto para capas, grupos o proyecto, QGIS Sever lo usa como nombre de capa.
18.2.4.5. Conexión a archivo servicio¶
Para que apache conozca el archivo de servicio PostgreSQL (consulte la sección :ref: pg-service-file), debe hacer que su archivo :file:` *.conf` tenga este aspecto:
SetEnv PGSERVICEFILE /home/web/.pg_service.conf
<Directory "/home/web/apps2/bin/">
AllowOverride None
.....
18.2.4.6. Agregar fuentes a su servidor linux¶
Tenga en cuenta que puede usar proyectos QGIS que apunten a fuentes que pueden no existir por defecto en otras máquinas. Esto significa que si comparte el proyecto, puede verse diferente en otras máquinas (si las fuentes no existen en la máquina de destino).
Para asegurarse de que esto no suceda, solo necesita instalar las fuentes que faltan en la máquina de destino. Hacer esto en sistemas de escritorio suele ser trivial (hacer doble clic en las fuentes).
Para Linux, si no tiene un entorno de escritorio instalado (o prefiere la línea de comandos), debe:
En sistemas basados en Debian:
sudo su mkdir -p /usr/local/share/fonts/truetype/myfonts && cd /usr/local/share/fonts/truetype/myfonts # copy the fonts from their location cp /fonts_location/* . chown root * cd .. && fc-cache -f -v
En sistemas basados en Debian:
sudo su mkdir /usr/share/fonts/myfonts && cd /usr/share/fonts/myfonts # copy the fonts from their location cp /fonts_location/* . chown root * cd .. && fc-cache -f -v