Важно

Prevod je zajednički napor :ref:`možete se pridružiti `. Ova stranica je trenutno prevedena na |napredak prevođenja|.

6. Napredna konfiguracija

6.1. Beleženje u dnevnik

Da biste beležili zahteve poslate serveru, morate postaviti sledeću promenljivu okruženja:

Sledećim promenljivama beleženje se može dodatno prilagoditi:

6.2. Promenljive okruženja

Neke aspekte QGIS Server-a možete konfigurisati postavljanjem promenljivih okruženja.

U zavisnosti od HTTP servera i načina na koji pokrećete QGIS Server, postoji nekoliko načina za definisanje ovih promenljivih. Ovo je u potpunosti opisano u Apache HTTP Server.

Naziv i opis

Podrazumevano

Servisi

QGIS_OPTIONS_PATH

Zadaje putanju do direktorijuma sa podešavanjima. Radi na isti način kao opcija --optionspath QGIS aplikacije. Traži datoteku podešavanja u <QGIS_OPTIONS_PATH>/QGIS/QGIS3.ini.

’’

Sve

QGIS_PLUGINPATH

Korisno ako koristite Python dodatke za server, ovo postavlja folder u kojem se traže Python dodaci.

’’

Sve

QGIS_PROJECT_FILE

Datoteka projekta .qgs ili .qgz, obično prosleđena kao parametar u niski upita (sa MAP); možete je postaviti i kao promenljivu okruženja (na primer korišćenjem Apache modula mod_rewrite).

Белешка

Takođe možete naznačiti projekat sačuvan u PostgreSQL-u, npr. postgresql://localhost:5432?sslmode=disable&dbname=mydb&schema=myschema&project=myproject ili unutar geopackage datoteke, npr. geopackage:/path/to/geopackage/file.gpkg?projectName=myProjectName.

’’

Sve

QGIS_SERVER_ALLOWED_EXTRA_SQL_TOKENS

Lista niski razdvojenih zarezima koje predstavljaju dozvoljene dodatne SQL tokene prihvaćene kao komponente filtera objekata.

’’

WMS

QGIS_SERVER_API_RESOURCES_DIRECTORY

Bazni direktorijum za sve statičke resurse OGC API-ja (kao što je OAPIF/WFS3) (HTML šabloni, CSS, JS, …)

zavisi od pakovanja

OAPIF/WFS3

QGIS_SERVER_APPLICATION_NAME

Naziv aplikacije koji se koristi, na primer pri povezivanju sa bazom podataka radi identifikacije povezane instance QGIS server-a

QGIS3 server

Sve

QGIS_SERVER_API_WFS3_MAX_LIMIT

Maksimalna vrednost za limit u OAPIF/WFS3 zahtevu za objektima.

10000

OAPIF/WFS3

QGIS_SERVER_CACHE_DIRECTORY

Zadaje direktorijum mrežne keš memorije u sistemu datoteka.

cache u direktorijumu profila

Sve

QGIS_SERVER_CACHE_SIZE

Postavlja veličinu mrežne keš memorije u bajtovima.

50 MB

Sve

QGIS_SERVER_CAPABILITIES_CACHE_SIZE

Maksimalan broj mogućnosti projekta koje se keširaju.

40

Sve

QGIS_SERVER_DISABLE_GETPRINT

Ovo je opcija na nivou projekta za poboljšanje vremena čitanja projekta onemogućavanjem učitavanja rasporeda.

Aktiviranje ove opcije onemogućava QGIS WMS GetPrint zahtev. Postavite ovu zastavicu QGIS projekta da se rasporedi ne učitavaju.

false

WMS

QGIS_SERVER_FORCE_READONLY_LAYERS

Prisiljava QGIS Server da otvori sve slojeve u režimu samo za čitanje

false

Sve

QGIS_SERVER_IGNORE_BAD_LAYERS

„Loši“ slojevi su slojevi koji se ne mogu učitati. Podrazumevano ponašanje QGIS Server-a je da projekat smatra nedostupnim ako sadrži loš sloj.

Podrazumevano ponašanje može se zameniti postavljanjem ove promenljive na 1 ili true. U tom slučaju, „loši“ slojevi će jednostavno biti zanemareni, a projekat će se smatrati ispravnim i dostupnim.

false

Sve

QGIS_SERVER_LANDING_PAGE_PREFIX

Prefiks komponente putanje bazne URL adrese odredišne stranice

„”

Sve

QGIS_SERVER_LANDING_PAGE_PROJECTS_DIRECTORIES

Direktorijumi koje servis odredišne stranice koristi za pronalaženje .qgs i .qgz projekata

„”

Sve

QGIS_SERVER_LANDING_PAGE_PROJECTS_PG_CONNECTIONS

PostgreSQL niske za povezivanje koje servis odredišne stranice koristi za pronalaženje projekata

„”

Sve

QGIS_SERVER_LOG_FILE

Zadajte putanju i naziv datoteke. Uverite se da server ima odgovarajuće dozvole za upisivanje u datoteku. Datoteka bi trebalo da se napravi automatski, samo pošaljite neke zahteve serveru. Ako je nema, proverite dozvole.

Упозорење

QGIS_SERVER_LOG_FILE je zastareo od QGIS 3.4, umesto njega koristite QGIS_SERVER_LOG_STDERR. Podrška za beleženje u datoteku biće uklonjena u QGIS 5.0.

’’

Sve

QGIS_SERVER_LOG_LEVEL

Zadajte željeni nivo dnevnika. Dostupne vrednosti su:

  • 0 ili INFO (beleži sve zahteve)

  • 1 ili WARNING

  • 2 ili CRITICAL (beleži samo kritične greške, pogodno za produkcione svrhe)

0

Sve

QGIS_SERVER_LOG_PROFILE

Dodaje detaljne informacije o profilu u dnevnike, deluje samo kada je QGIS_SERVER_LOG_LEVEL=0

false

Sve

QGIS_SERVER_LOG_STDERR

Aktivira beleženje u stderr. Ova promenljiva nema efekta kada je QGIS_SERVER_LOG_FILE postavljena.

  • 0 ili false (neosetljivo na velika/mala slova)

  • 1 ili true (neosetljivo na velika/mala slova)

false

Sve

QGIS_SERVER_MAX_THREADS

Broj niti koje se koriste kada je aktivirano paralelno iscrtavanje. Ako je vrednost -1, koristi broj procesorskih jezgara.

-1

Sve

QGIS_SERVER_OVERRIDE_SYSTEM_LOCALE

Postavlja LOCALE koji QGIS server koristi. Podrazumevana vrednost je prazna (bez zamene).

Primer: de_CH.utf8

’’

Sve

QGIS_SERVER_PARALLEL_RENDERING

Aktivira paralelno iscrtavanje za WMS GetMap zahteve. Podrazumevano je onemogućeno (false). Dostupne vrednosti su:

  • 0 ili false (neosetljivo na velika/mala slova)

  • 1 ili true (neosetljivo na velika/mala slova)

false

WMS

QGIS_SERVER_PROJECT_CACHE_CHECK_INTERVAL

Kontroliše interval periodične strategije za poništavanje keša, u milisekundama. Podrazumevano je 0, što bira nasleđeni nadzornik sistema datoteka.

Sve

QGIS_SERVER_PROJECT_CACHE_SIZE

Postavlja maksimalan broj datoteka QGIS projekata (.qgs/.qgz) koje se čuvaju u kešu servera. Ovo može poboljšati performanse pri opsluživanju istih projekata više puta.

100

Sve

QGIS_SERVER_PROJECT_CACHE_STRATEGY

Definiše metod za poništavanje keša projekta. Dostupne strategije su:

  • filesystem: koristi strategiju nadzornika sistema datoteka

  • periodic: koristi vrednost poslednje izmene projekta za proveru promena u konfiguraciji projekta. Zgodno na atipičnim sistemima datoteka, kao što je NFS, ili kada je datoteka projekta sačuvana u sistemu baze podataka kao što je PostgreSQL.

  • off: potpuno onemogućava interno poništavanje keša

filesystem

Sve

QGIS_SERVER_SERVICE_URL

Ovo je opcija za postavljanje URL-a servisa ako nije prisutan u projektu.

URL servisa se definiše iz (po redosledu prioriteta):

  • Vrednost definisana u projektu po servisu

  • Promenljiva okruženja QGIS_SERVER_<service>_SERVICE_URL

  • Promenljiva okruženja QGIS_SERVER_SERVICE_URL

  • Zaglavlje X-Qgis-<service>-Service-Url

  • Zaglavlje X-Qgis-Service-Url

  • Izgradnja iz zaglavlja Forwarded

  • Izgradnja iz zaglavlja X-Forwarded-Host i X-Forwarded-Proto

  • Izgradnja iz zaglavlja Host i protokola servera

  • Izgradnja iz naziva servera i protokola servera.

U poslednja četiri slučaja, rezultujući URL servisa zasniva se na parametru MAP datom u niski upita i na dolaznom zahtevu putanje.

’’

Sve

QGIS_SERVER_SHOW_GROUP_SEPARATOR

Definiše da li za numeričke vrednosti treba koristiti separator grupa (npr. separator hiljada) (npr. u GetFeatureInfo odgovorima). Podrazumevana vrednost je 0.

  • 0 ili false (neosetljivo na velika/mala slova)

  • 1 ili true (neosetljivo na velika/mala slova)

false

WMS

QGIS_SERVER_TRUST_LAYER_METADATA

Ovo je opcija na nivou projekta za poboljšanje vremena čitanja projekta korišćenjem obuhvata vektorskih slojeva definisanih u metapodacima projekta i onemogućavanjem provere jedinstvenosti primarnog ključa PostgreSQL/PostGIS sloja.

Poverenje metapodacima sloja može se prisiliti postavljanjem ove promenljive na 1 ili true. Obuhvat vektorskog sloja tada će biti onaj definisan u projektu, a primarni ključ PostgreSQL/PostGIS sloja definisan u izvoru podataka smatra se jedinstvenim bez provere.

Ne koristite je ako obuhvat slojeva nije fiksan tokom korišćenja projekta.

false

Sve

QGIS_SERVER_WCS_SERVICE_URL

Ovo je opcija za postavljanje URL-a servisa ako nije prisutan u projektu. Za više informacija pogledajte QGIS_SERVER_SERVICE_URL.

’’

WCS

QGIS_SERVER_WFS_SERVICE_URL

Ovo je opcija za postavljanje URL-a servisa ako nije prisutan u projektu. Za više informacija pogledajte QGIS_SERVER_SERVICE_URL.

’’

WFS

QGIS_SERVER_WMS_MAX_HEIGHT

Maksimalna visina za WMS zahtev. Koristi se konzervativnija vrednost između ove i projektne. Ako je vrednost -1, znači da nema postavljenog maksimuma.

-1

WMS

QGIS_SERVER_WMS_MAX_WIDTH

Maksimalna širina za WMS zahtev. Koristi se konzervativnija vrednost između ove i projektne. Ako je vrednost -1, znači da nema postavljenog maksimuma.

-1

WMS

QGIS_SERVER_WMS_SERVICE_URL

Ovo je opcija za postavljanje URL-a servisa ako nije prisutan u projektu. Za više informacija pogledajte QGIS_SERVER_SERVICE_URL.

’’

WMS

QGIS_SERVER_WMTS_SERVICE_URL

Ovo je opcija za postavljanje URL-a servisa ako nije prisutan u projektu. Za više informacija pogledajte QGIS_SERVER_SERVICE_URL.

’’

WMTS

QUERY_STRING

Niska upita, obično prosleđena od strane veb servera. Ova promenljiva može biti korisna pri testiranju QGIS server binarne datoteke iz komandne linije.

Na primer za testiranje GetCapabilities zahteva iz komandne linije ka projektu koji takođe zahteva PostgreSQL vezu definisanu u pg_service.conf datoteci:

PGSERVICEFILE=/etc/pg_service.conf \
QUERY_STRING="MAP=/home/projects/world.qgs&SERVICE=WMS&REQUEST=GetCapabilities" \
/usr/lib/cgi-bin/qgis_mapserv.fcgi

Rezultat treba da bude ili sadržaj GetCapabilities odgovora ili, ako nešto nije u redu, poruka greške.

’’

Sve

6.3. Rezime podešavanja

Kada se QGIS Server pokreće, imate rezime svih podesivih parametara zahvaljujući promenljivama okruženja. Osim toga, prikazuje se i trenutno korišćena vrednost i njeno poreklo.

Na primer sa 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

U ovom konkretnom slučaju znamo da se vrednosti QGIS_SERVER_MAX_THREADS i QGIS_SERVER_PARALLEL_RENDERING čitaju iz ini datoteke pronađene u direktorijumu QGIS_OPTIONS_PATH (koji se definiše preko promenljive okruženja). Odgovarajući unosi u ini datoteci su /qgis/max_threads i /qgis/parallel_rendering, a njihove vrednosti su true i 4 niti.

6.4. Veza sa datotekom servisa

Da biste apache učinili svesnim PostgreSQL datoteke servisa (pogledajte odeljak Datoteka za povezivanje sa PostgreSQL servisom), potrebno je da vaša *.conf datoteka izgleda ovako:

SetEnv PGSERVICEFILE /home/web/.pg_service.conf

<Directory "/home/web/apps2/bin/">
  AllowOverride None
.....

6.5. Dodavanje fontova na vaš linux server

Imajte u vidu da možete koristiti QGIS projekte koji upućuju na fontove koji podrazumevano možda ne postoje na drugim mašinama. To znači da ako podelite projekat, može izgledati drugačije na drugim mašinama (ako fontovi ne postoje na ciljnoj mašini).

Da biste obezbedili da se ovo ne desi, samo treba da instalirate fontove koji nedostaju na ciljnoj mašini. To je na desktop sistemima obično trivijalno (dvoklik na fontove).

Za linux, ako nemate instalirano desktop okruženje (ili preferirate komandnu liniju), potrebno je da:

  • Na sistemima zasnovanim na Debian-u:

    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
    
  • Na sistemima zasnovanim na Fedora-i:

    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