6. Gevorderde configuratie
6.1. Loggen
U dient de volgende omgevingsvariabele in te stellen om verzoeken, die naar de server zijn verstuurd, te loggen:
Met de volgende variabelen kan het loggen verder worden aangepast:
6.2. Omgevingsvariabelen
U kunt enkele aspecten van QGIS Server configureren door omgevingsvariabelen in te stellen.
In overeenstemming met de HTTP server en hoe u QGIS Server uitvoert, zijn er verschillende manieren om deze variabelen te definiëren. Dit wordt volledig beschreven in Apache HTTP Server.
Naam |
Omschrijving |
Standaard |
Services |
---|---|---|---|
QGIS_OPTIONS_PATH |
Specificeert het pad naar de map met instellingen. Het werkt op dezelfde manieren als de optie |
‘’ |
Alles |
QGIS_PLUGINPATH |
Nuttig als u plug-ins voor Python voor de server gebruikt, dit stelt de map in waarin wordt gezocht naar plug-ins voor Python. |
‘’ |
Alles |
QGIS_PROJECT_FILE |
Het projectbestand Onthoud dat u ook een project mag aangeven dat is opgeslagen in PostgreSQL, bijv. |
‘’ |
Alles |
QGIS_SERVER_ALLOWED_EXTRA_SQL_TOKENS |
Kommagescheiden lijst met tekenreeksen die de toegestane extra tokens, geaccepteerd als componenten van een objectfilter, voor SQL weergeven. |
‘’ |
WMS |
QGIS_SERVER_API_RESOURCES_DIRECTORY |
Basismap voor alle OGC API (zoals OAPIF/WFS3) statische bronnen (HTML-sjablonen, CSS, JS, …) |
afhankelijk van verpakken |
OAPIF/WFS3 |
QGIS_SERVER_API_WFS3_MAX_LIMIT |
Maximum waarde voor |
10000 |
OAPIF/WFS3 |
QGIS_SERVER_CACHE_DIRECTORY |
Specificeert de map voor de netwerkcache op het bestandssysteem. |
|
Alles |
QGIS_SERVER_CACHE_SIZE |
Stelt de grootte van de netwerkcache in in MB. |
50 MB |
Alles |
QGIS_SERVER_DISABLE_GETPRINT |
Dit is een optie op het projectniveau om de leestijd van het project te verbeteren door het laden van lay-outs uit te schakelen. Activeren van deze optie schakelt het QGIS WMS GetPrint-verzoek uit. Stel deze QGIS projectvlag in om geen lay-outs te laden. |
false |
WMS |
QGIS_SERVER_FORCE_READONLY_LAYERS |
Forceer QGIS Server om alle lagen te openen in modus Alleen-lezen |
false |
Alles |
QGIS_SERVER_IGNORE_BAD_LAYERS |
“Bad layers” (slechte lagen) zijn lagen die niet kunnen worden geladen. Het standaardgedrag van QGIS Server is om te overwegen het project als niet beschikbaar te beschouwen als het een slechte laag bevat. Het standaardgedrag kan worden overschreven door deze variabele in te stellen op |
false |
Alles |
QGIS_SERVER_LANDING_PAGE_PREFIX |
Voorvoegsel voor de component van het pad voor de thuispagina van de basis-URL |
“” |
Alles |
QGIS_SERVER_LANDING_PAGE_PROJECTS_DIRECTORIES |
Mappen die worden gebruikt door de service voor de landingspagina om te zoeken naar .qgs en .qgz-projecten |
“” |
Alles |
QGIS_SERVER_LANDING_PAGE_PROJECTS_PG_CONNECTIONS |
Tekenreeks voor de verbinding van PostgreSQL die wordt gebruikt door de service voor de landingspagina om te zoeken projecten |
“” |
Alles |
QGIS_SERVER_LOG_FILE |
Specificeer pad en bestandsnaam. Zorg er voor dat de server de juiste rechten heeft om naar bestanden te schrijven. Het bestand zou automatisch gemaakt moeten worden, verzend eenvoudigweg enkele verzoeken naar de server. Als het er niet is, controleer dan de rechten. Waarschuwing QGIS_SERVER_LOG_FILE is vervallen sinds QGIS 3.4, gebruik in plaats daarvan QGIS_SERVER_LOG_STDERR. Ondersteuning voor loggen van bestanden zal worden verwijderd vanaf QGIS 4.0. |
‘’ |
Alles |
QGIS_SERVER_LOG_LEVEL |
Specificeer het gewenste niveau voor het loggen. Beschikbare waarden zijn:
|
0 |
Alles |
QGIS_SERVER_LOG_PROFILE |
Gedetailleerde profielinformatie toevoegen aan logs, alleen effectief met QGIS_SERVER_LOG_LEVEL=0 |
false |
Alles |
QGIS_SERVER_LOG_STDERR |
Activeer loggen naar stderr. Deze variabele heeft geen effect als
|
false |
Alles |
QGIS_SERVER_MAX_THREADS |
Aantal te gebruiken threads als parallel renderen is geactiveerd. Als waarde |
-1 |
Alles |
QGIS_SERVER_OVERRIDE_SYSTEM_LOCALE |
Stelt LOCALE in om te worden gebruikt door QGIS server. De standaardwaarde is leeg (geen overschrijving). Voorbeeld: |
‘’ |
Alles |
QGIS_SERVER_PARALLEL_RENDERING |
Activeert parallel renderen voor verzoeken GetMap voor WMS. Het is standaard uitgeschakeld (
|
false |
WMS |
QGIS_SERVER_PROJECT_CACHE_CHECK_INTERVAL |
Beheert de periodieke strategie-interval voor ongeldigheid van de cache |
Alles |
|
QGIS_SERVER_PROJECT_CACHE_STRATEGY |
Definieert methode voor ongeldigheid van de projectcache. Beschikbare strategieën zijn:
|
bestandssysteem |
Alles |
QGIS_SERVER_SERVICE_URL |
Dit is een optie om de service-URL in te stellen als die niet aanwezig is in the project. De service-URL wordt gedefinieerd uit (in volgorde van voorrang):
In de laatste vier gevallen, is de resulterende Service URL gebaseerd op de parameter |
‘’ |
Alles |
QGIS_SERVER_SHOW_GROUP_SEPARATOR |
Definieert of een scheidingsteken voor groepen (bijv. scheidingsteken voor duizendtallen) zou moeten worden gebruikt voor numerieke waarden (bijv. in antwoorden GetFeatureInfo). De standaardwaarde is
|
false |
WMS |
QGIS_SERVER_TRUST_LAYER_METADATA |
Dit is een optie op het projectniveau om de leestijd van het project te verbeteren door gebruik te maken van de bereiken van de vectorlagen zoals die zijn gedefinieerd in de metadata van het project en de controle voor het uniek zijn van primaire sleutels voor lagen van PostgreSQL/PostGIS uit te schakelen. Vertrouwen van metadata van lagen kan worden geforceerd door deze variabele in te stellen op``1`` of Gebruik dit niet als het bereik van de laag niet vaststaat gedurende het gebruiken van het project. |
false |
Alles |
QGIS_SERVER_WCS_SERVICE_URL |
Dit is een optie om de service-URL in te stellen als die niet aanwezig is in het project. Bekijk QGIS_SERVER_SERVICE_URL voor meer informatie. |
‘’ |
WCS |
QGIS_SERVER_WFS_SERVICE_URL |
Dit is een optie om de service-URL in te stellen als die niet aanwezig is in het project. Bekijk QGIS_SERVER_SERVICE_URL voor meer informatie. |
‘’ |
WFS |
QGIS_SERVER_WMS_MAX_HEIGHT / QGIS_SERVER_WMS_MAX_WIDTH |
Maximale hoogte/breedte voor een WMS-verzoek. De meest conservatieve tussen deze en die van het project wordt gebruikt. Als de waarde |
-1 |
WMS |
QGIS_SERVER_WMS_SERVICE_URL |
Dit is een optie om de service-URL in te stellen als die niet aanwezig is in het project. Bekijk QGIS_SERVER_SERVICE_URL voor meer informatie. |
‘’ |
WMS |
QGIS_SERVER_WMTS_SERVICE_URL |
Dit is een optie om de service-URL in te stellen als die niet aanwezig is in het project. Bekijk QGIS_SERVER_SERVICE_URL voor meer informatie. |
‘’ |
WMTS |
QUERY_STRING |
De query-tekenreeks, normaal gesproken doorgegeven door de webserver. Deze variabele kan nuttig zijn bij het testen van QGIS Server binair vanaf de opdrachtregel. Bijvoorbeeld voor het testen van een verzoek GetCapabilities op de opdrachtregel naar een project dat ook een verbinding voor PostgreSQL vereist die is gedefinieerd in een bestand pg_service.conf: PGSERVICEFILE=/etc/pg_service.conf \
QUERY_STRING="MAP=/home/projects/world.qgs&SERVICE=WMS&REQUEST=GetCapabilities" \
/usr/lib/cgi-bin/qgis_mapserv.fcgi
Het resultaat zou ofwel de inhoud van het antwoord van GetCapabilities moeten zijn of, als er iets misgegaan is, een foutbericht. |
‘’ |
Alles |
6.3. Overzicht instellingen
Als QGIS Server start, krijgt u een overzicht van alle te configureren parameters dankzij de omgevingsvariabelen. Meer nog, de huidige gebruikte waarden en het origine worden ook weergegeven.
Bijvoorbeeld met spawn-fcgi:
export QGIS_OPTIONS_PATH=/home/user/.local/share/QGIS/QGIS3/profiles/default/
export QGIS_SERVER_LOG_STDERR=1
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_STDERR / '' (Activate/Deactivate logging to stderr): '1' (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
In dit bijzondere geval weten we dat de waarden QGIS_SERVER_MAX_THREADS en QGIS_SERVER_PARALLEL_RENDERING worden gelezen vanuit het bestand ini dat is te vinden in de map QGIS_OPTIONS_PATH (die is gedefinieerd met een omgevingsvariabele). De overeenkomende items in het bestand ini zijn /qgis/max_threads en /qgis/parallel_rendering en hun waarden zijn true en 4 threads.
6.4. Verbinding naar servicebestand
U dient, om Apache het PostgreSQL servicebestand te kunnen laten herkennen (zie het gedeelte PostgreSQL service verbindingsbestand), uw bestand *.conf
er als volgt uit te laten zien:
SetEnv PGSERVICEFILE /home/web/.pg_service.conf
<Directory "/home/web/apps2/bin/">
AllowOverride None
.....
6.5. Lettertypen aan uw server van Linux toevoegen
Onthoud dat u projecten van QGIS kunt gebruiken die verwijzen naar lettertypen die niet als standaard op andere machines zijn geïnstalleerd. Dat betekent dat als u het project gaat delen, het er op andere machines anders uit kan zien (als de lettertypen niet bestaan op de doelmachine).
U dient eenvoudigweg de ontbrekende lettertypen te installeren op de doelmachine om er voor te zorgen dat dit niet gebeurt. Dit op machines als desktopsystemen te doen is gewoonlijk triviaal (dubbelklikken op de lettertypen).
Voor Linux, als u geen dekstopomgeving hebt geïnstalleerd (of als u liever via de opdrachtregel werkt) dient u:
Op Debian gebaseerde systemen:
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
Op Fedora gebaseerde systemen:
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