Viktigt
Översättning är en gemenskapsinsats du kan gå med i. Den här sidan är för närvarande översatt till 100.00%.
6. Avancerad konfiguration
6.1. Loggning
Om du vill logga förfrågningar som skickas till servern måste du ange följande miljövariabel:
Med hjälp av följande variabler kan loggningen anpassas ytterligare:
6.2. Miljövariabler
Du kan konfigurera vissa aspekter av QGIS Server genom att ställa in miljövariabler.
Beroende på HTTP-servern och hur du kör QGIS Server finns det flera sätt att definiera dessa variabler. Detta beskrivs i sin helhet i Apache HTTP-server.
Namn |
Beskrivning |
Standard |
Tjänster |
---|---|---|---|
QGIS_OPTIONS_PATH |
Anger sökvägen till katalogen med inställningar. Det fungerar på samma sätt som QGIS-applikationens alternativ |
’’ |
Alla |
QGIS_PLUGINPATH |
Användbart om du använder Python-tillägg för servern, här anges den mapp som söks efter Python-tillägg. |
’’ |
Alla |
QGIS_PROJECT_FILE |
Projektfilen Observera att du också kan ange ett projekt som lagras i PostgreSQL, t.ex. |
’’ |
Alla |
QGIS_SERVER_ALLOWED_EXTRA_SQL_TOKENS |
Kommaseparerad lista med strängar som representerar de tillåtna extra SQL-tokens som accepteras som komponenter i ett feature-filter. |
’’ |
WMS |
QGIS_SERVER_API_RESOURCES_DIRECTORY |
Baskatalog för alla statiska resurser för OGC API (t.ex. OAPIF/WFS3) (HTML-mallar, CSS, JS, …) |
beror på förpackning |
OAPIF/WFS3 |
QGIS_SERVER_APPLICATION_NAME |
Namn på den applikation som ska användas, t.ex. vid anslutning till en databas för att identifiera den anslutna QGIS-serverinstansen |
QGIS3-server |
Alla |
QGIS_SERVER_API_WFS3_MAX_LIMIT |
Högsta värde för |
10000 |
OAPIF/WFS3 |
QGIS_SERVER_CACHE_DIRECTORY |
Anger katalogen för nätverkscache i filsystemet. |
|
Alla |
QGIS_SERVER_CACHE_SIZE |
Ställer in storleken på nätverkscachen i MB. |
50 MB |
Alla |
QGIS_SERVER_CAPABILITIES_CACHE_SIZE |
Det maximala antalet projektfunktioner som ska cachas. |
40 |
Alla |
QGIS_SERVER_DISABLE_GETPRINT |
Detta är ett alternativ på projektnivå för att förbättra projektets lästid genom att inaktivera laddning av layouter. Om du aktiverar detta alternativ inaktiveras QGIS WMS GetPrint-begäran. Ställ in denna QGIS-projektflagga för att inte ladda layouter. |
falskt |
WMS |
QGIS_SERVER_FORCE_READONLY_LAYERS |
Tvinga QGIS Server att öppna alla lager i skrivskyddat läge |
falskt |
Alla |
QGIS_SERVER_IGNORE_BAD_LAYERS |
”Dåliga” lager är lager som inte kan läsas in. Standardbeteendet för QGIS Server är att betrakta projektet som inte tillgängligt om det innehåller ett dåligt lager. Standardbeteendet kan åsidosättas genom att ställa in denna variabel till ”1” eller ”true”. I detta fall kommer ”dåliga” lager att ignoreras och projektet kommer att betraktas som giltigt och tillgängligt. |
falskt |
Alla |
QGIS_SERVER_LANDING_PAGE_PREFIX |
Prefix för sökvägskomponenten i landningssidans bas-URL |
”” |
Alla |
QGIS_SERVER_LANDING_PAGE_PROJECTS_DIRECTORIES |
Kataloger som används av landningssidestjänsten för att hitta .qgs- och .qgz-projekt |
”” |
Alla |
QGIS_SERVER_LANDING_PAGE_PROJECTS_PG_CONNECTIONS |
PostgreSQL-anslutningssträngar som används av målsidestjänsten för att hitta projekt |
”” |
Alla |
QGIS_SERVER_LOG_FILE |
Ange sökväg och filnamn. Se till att servern har rätt behörighet för att skriva till filen. Filen bör skapas automatiskt, skicka bara några förfrågningar till servern. Om den inte finns där, kontrollera behörigheterna. Varning QGIS_SERVER_LOG_FILE är föråldrad sedan QGIS 3.4, använd QGIS_SERVER_LOG_STDERR istället. Stöd för filloggning kommer att tas bort i QGIS 4.0. |
’’ |
Alla |
QGIS_SERVER_LOG_LEVEL |
Ange önskad loggnivå. Tillgängliga värden är:
|
0 |
Alla |
QGIS_SERVER_LOG_PROFILE |
Lägg till detaljerad profilinformation i loggarna, gäller endast när QGIS_SERVER_LOG_LEVEL=0 |
falskt |
Alla |
QGIS_SERVER_LOG_STDERR |
Aktivera loggning till stderr. Denna variabel har ingen effekt när
|
falskt |
Alla |
QGIS_SERVER_MAX_THREADS |
Antal trådar som ska användas när parallell rendering är aktiverad. Om värdet är |
-1 |
Alla |
QGIS_SERVER_OVERRIDE_SYSTEM_LOCALE |
Ställer in LOCALE som ska användas av QGIS-servern. Standardvärdet är tomt (ingen åsidosättning). Exempel: |
’’ |
Alla |
QGIS_SERVER_PARALLEL_RENDERING |
Aktiverar parallell rendering för WMS GetMap-begäranden. Den är inaktiverad (
|
falskt |
WMS |
QGIS_SERVER_PROJECT_CACHE_CHECK_INTERVAL |
Styr det periodiska strategiintervallet för ogiltighetsförklaring av cache, i millisekunder. Standardvärdet är 0, vilket innebär att den gamla filsystemövervakaren väljs. |
Alla |
|
QGIS_SERVER_PROJECT_CACHE_STRATEGY |
Definierar metod för att inaktivera projektcachen. Tillgängliga strategier är:
|
filesystem |
Alla |
QGIS_SERVER_SERVICE_URL |
Detta är ett alternativ för att ange tjänstens URL om den inte finns i projektet. Tjänstens URL definieras från (i prioritetsordning):
I de fyra sista fallen baseras den resulterande service-URL:en på parametern |
’’ |
Alla |
QGIS_SERVER_SHOW_GROUP_SEPARATOR |
Anger om en gruppavgränsare (t.ex. tusenavgränsare) ska användas för numeriska värden (t.ex. i GetFeatureInfo-svar). Standardvärdet är
|
falskt |
WMS |
QGIS_SERVER_TRUST_LAYER_METADATA |
Detta är ett alternativ på projektnivå för att förbättra projektets lästid genom att använda vektorlagrets extenter som definieras i projektets metadata och inaktivera kontrollen för PostgreSQL / PostGIS-lagrets primära nyckelunikhet. Förtroende för lagrets metadata kan tvingas fram genom att ställa in denna variabel till ”1” eller ”true”. Vektorskiktets utsträckning kommer då att vara den som definieras i projektet, och PostgreSQL / PostGIS-lagrets primära nyckel som definieras i datakällan betraktas som unik utan kontroll. Använd den inte om lagrens utsträckning inte är fastställd under projektets användning. |
falskt |
Alla |
QGIS_SERVER_WCS_SERVICE_URL |
Detta är ett alternativ för att ange tjänstens URL om den inte finns i projektet. Se QGIS_SERVER_SERVICE_URL för mer information. |
’’ |
WCS |
QGIS_SERVER_WFS_SERVICE_URL |
Detta är ett alternativ för att ange tjänstens URL om den inte finns i projektet. Se QGIS_SERVER_SERVICE_URL för mer information. |
’’ |
WFS |
QGIS_SERVER_WMS_MAX_HEIGHT / QGIS_SERVER_WMS_MAX_WIDTH |
Maximal höjd/bredd för en WMS-begäran. Det mest konservativa värdet mellan detta och projektets används. Om värdet är |
-1 |
WMS |
QGIS_SERVER_WMS_SERVICE_URL |
Detta är ett alternativ för att ange tjänstens URL om den inte finns i projektet. Se QGIS_SERVER_SERVICE_URL för mer information. |
’’ |
WMS |
QGIS_SERVER_WMTS_SERVICE_URL |
Detta är ett alternativ för att ange tjänstens URL om den inte finns i projektet. Se QGIS_SERVER_SERVICE_URL för mer information. |
’’ |
WMTS |
QUERY_STRING |
Frågesträngen, som normalt skickas av webbservern. Den här variabeln kan vara användbar när du testar QGIS server binär från kommandoraden. Till exempel för att testa en GetCapabilities-begäran på kommandoraden till ett projekt som också kräver en PostgreSQL-anslutning som definieras i en pg_service.conf-fil: PGSERVICEFILE=/etc/pg_service.conf \
QUERY_STRING="MAP=/home/projects/world.qgs&SERVICE=WMS&REQUEST=GetCapabilities" \
/usr/lib/cgi-bin/qgis_mapserv.fcgi
Resultatet ska antingen vara innehållet i GetCapabilities-svaret eller, om något är fel, ett felmeddelande. |
’’ |
Alla |
6.3. Sammanfattning av inställningar
När QGIS Server startas får du en sammanfattning av alla parametrar som kan konfigureras tack vare miljövariablerna. Dessutom visas det värde som används för närvarande och ursprunget.
Till exempel med 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
I det här fallet vet vi att värdena QGIS_SERVER_MAX_THREADS och QGIS_SERVER_PARALLEL_RENDERING läses från ini-filen som finns i katalogen QGIS_OPTIONS_PATH (som definieras via en miljövariabel). De motsvarande posterna i ini-filen är /qgis/max_threads och /qgis/parallel_rendering och deras värden är true och 4 trådar.
6.4. Anslutning till servicefil
För att göra apache medveten om PostgreSQL-tjänstfilen (se avsnittet PostgreSQL Service anslutningsfil) måste du få din *.conf
-fil att se ut som:
SetEnv PGSERVICEFILE /home/web/.pg_service.conf
<Directory "/home/web/apps2/bin/">
AllowOverride None
.....
6.5. Lägg till teckensnitt på din Linux-server
Tänk på att du kan använda QGIS-projekt som pekar på teckensnitt som kanske inte finns som standard på andra maskiner. Det innebär att om du delar projektet kan det se annorlunda ut på andra maskiner (om teckensnitten inte finns på målmaskinen).
För att se till att detta inte händer behöver du bara installera de saknade teckensnitten på målmaskinen. På stationära system är det oftast trivialt (dubbelklicka på teckensnitten).
För Linux, om du inte har en skrivbordsmiljö installerad (eller om du föredrar kommandoraden) måste du göra det:
På Debian-baserade system:
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
På Fedora-baserade system:
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