Svarbu

Vertimas yra bendruomenės pastangos, prie kurių jūs galite prisijungti. Šis puslapis šiuo metu išverstas 100.00%.

6. Sudėtingesnis konfigūravimas

6.1. Žurnalizavimas

Norint žurnalizuoti į serverį atsiųstas užklausas, jūs turite nustatyti šį aplinkos kintamąjį:

Šių kintamųjų pagalba galima dar labiau tinkinti žurnalizavimą:

6.2. Aplinkos kintamieji

Jūs galite konfigūruoti kai kuriuos QGIS Serverio aspektus nustatydami aplinkos kintamuosius.

Priklausomai nuo HTTP serverio ir kaip jūs paleidžiate QGIS Serverį, yra keli būdai, kaip apibrėžti šiuos kintamuosius. Tai pilnai aprašyta skyriuje Apache HTTP Serveris.

Pavadinimas

Aprašymas

Numatyta

Paslaugos

QGIS_OPTIONS_PATH

Nurodo kelią iki aplanko su nustatymais. Jis veikia taip pat, kaip ir QGIS aplikacijos parinktis --optionspath. Jis ieško nustatymų failo, esančio <QGIS_OPTIONS_PATH>/QGIS/QGIS3.ini.

‚‘

Visi

QGIS_PLUGINPATH

Naudinga, jei naudojate serverio Python priedus, tai nurodo aplanką, kuriame ieškoma Python priedų.

‚‘

Visi

QGIS_PROJECT_FILE

.qgs ar .qgz projekto failas, paprastai perduodamas kaip užklausos teksto parametras (nurodant MAP), jūs taipogi galite nurodyti jį kaip aplinkos kintamąjį (pavyzdžiui naudodami Apache modulį mod_rewrite).

Pastebėtina, kad jūs taipogi galite nurodyti projektą, kuris įrašytas į PostgreSQL, pvz. postgresql://localhost:5432?sslmode=disable&dbname=manodb&schema=manoschema&project=manoprojektas arba geopackage failo viduje, pvz. geopackage:/path/to/geopackage/file.gpkg?projectName=manoProjektoPavadinimas.

‚‘

Visi

QGIS_SERVER_ALLOWED_EXTRA_SQL_TOKENS

Kableliais atskirtas sąrašas žodžių, kurie reprezentuoja leidžiamus papildomus SQL žodžius, priimamus kaip geoobjektų filtro komponentai.

‚‘

WMS

QGIS_SERVER_API_RESOURCES_DIRECTORY

Visų OGC API (tokių kaip OAPIF/WFS3) statinių resursų (HTML šablonų, CSS, JS, …) bazinis aplankas

priklauso nuo pakavimo

OAPIF/WFS3

QGIS_SERVER_APPLICATION_NAME

Aplikacijos pavadinimas, kurį reikia naudoti, pavyzdžiui, jungiantis prie duomenų bazės ir identifikuojant prisijungusį QGIS serverio egzempliorių

QGIS3 server

Visi

QGIS_SERVER_API_WFS3_MAX_LIMIT

Maksimali limit reikšmė OAPIF/WFS3 geoobjektų užklausoje.

10000

OAPIF/WFS3

QGIS_SERVER_CACHE_DIRECTORY

Nurodo tinklo podėlio aplanką failų sistemoje.

cache profilio aplanke

Visi

QGIS_SERVER_CACHE_SIZE

Nustato tinklo podėlio dydį MB.

50 MB

Visi

QGIS_SERVER_CAPABILITIES_CACHE_SIZE

Maksimalus į podėlį įrašomų projektų galimybių skaičius.

40

Visi

QGIS_SERVER_DISABLE_GETPRINT

Tai projekto lygio parinktis, pagerinanti projekto skaitymo laiką išjungiant išdėstymų įkėlimą.

Įjungus šią parinktį bus išjungtos QGIS WMS GetPrint užklausos. Nustatykite šį QGIS projekto požymį, kad nekeltumėte išdėstymų.

false

WMS

QGIS_SERVER_FORCE_READONLY_LAYERS

Priversti QGIS Serverį atverti visus sluoksnius tik skaitymo režime

false

Visi

QGIS_SERVER_IGNORE_BAD_LAYERS

„Blogi“ sluoksniai yra tie, kurių negalima įkelti. Numatytoji QGIS Serverio elgsena yra visą projektą laikyti neprieinamu, jei jame yra blogas sluoksnis.

Numatytąją elgseną galima permušti nustatant kintamojo reikšmę 1 arba true. Tokiu atveju „blogi“ sluoksniai bus tiesiog ignoruojami, o projektas bus laikomas prieinamu.

false

Visi

QGIS_SERVER_LANDING_PAGE_PREFIX

Pradinio puslapio bazinio URL kelio komponento priešdėlis

„“

Visi

QGIS_SERVER_LANDING_PAGE_PROJECTS_DIRECTORIES

Pradinio puslapio paslaugos aplankai, naudojami ieškant .qgs ir .qgz projektų

„“

Visi

QGIS_SERVER_LANDING_PAGE_PROJECTS_PG_CONNECTIONS

PostgreSQL jungčių eilutės, kurias pradinio puslapio paslauga naudoja ieškant projektų

„“

Visi

QGIS_SERVER_LOG_FILE

Nurodykite kelią ir failo pavadinimą. Įsitikinkite, kad serveris turi teises rašyti į nurodytą failą. Failas bus sukurtas automatiškai, tiesiog nusiųskite kelias užklausas į serverį. Jei jis neatsiras - patikrinkite prieigos teises.

Įspėjimas

QGIS_SERVER_LOG_FILE nebenaudojamas nuo QGIS 3.4, vietoje jo naudokite QGIS_SERVER_LOG_STDERR. Žurnalizavimas į failus bus pašalintas QGIS 4.0.

‚‘

Visi

QGIS_SERVER_LOG_LEVEL

Nurodykite norimą žurnalo įrašų lygį. Galimos reikšmės yra:

  • 0 ar INFO (registruoti visas užklausas)

  • 1 ar WARNING

  • 2 ar CRITICAL (registruoti tik kritines klaidas, tinkamas naudojimui gamyboje)

0

Visi

QGIS_SERVER_LOG_PROFILE

Pridėti į žurnalą detalią profilio informaciją, veikia tik kai QGIS_SERVER_LOG_LEVEL=0

false

Visi

QGIS_SERVER_LOG_STDERR

Aktyvuoti žurnalizavimą į stderr. Šis kintamasis neveikia, kai nustatytas QGIS_SERVER_LOG_FILE.

  • 0 ar false (raidžių dydis nesvarbus)

  • 1 ar true (raidžių dydis nesvarbus)

false

Visi

QGIS_SERVER_MAX_THREADS

Kiek naudoti gijų, kai įjungtas paralelinis braižymas. Jei reikšmė yra -1 - naudojamas procesoriaus branduolių skaičius.

-1

Visi

QGIS_SERVER_OVERRIDE_SYSTEM_LOCALE

Nustato QGIS serverio naudojamą LOCALE. Numatytoji reikšmė yra tuščia (nepermušama).

Pavyzdžiui: lt_LT.utf8

‚‘

Visi

QGIS_SERVER_PARALLEL_RENDERING

Aktyvuoja paralelinį WMS GetMap užklausų braižymą. Pagal nutylėjimą jis išjungtas (false). Galimos reikšmės yra:

  • 0 ar false (raidžių dydis nesvarbus)

  • 1 ar true (raidžių dydis nesvarbus)

false

WMS

QGIS_SERVER_PROJECT_CACHE_CHECK_INTERVAL

Valdo podėlio pasendinimo periodo strategiją, milisekundėmis. Numatytoji reikšmė yra 0, kas parenka Failų sistemos stebėtoją.

Visi

QGIS_SERVER_PROJECT_CACHE_STRATEGY

Parenka projekto podėlio pasendinimo metodą. Galimos strategijos yra:

  • filesystem: naudoja failų sistemos stebėjimo strategiją

  • periodic: naudoja paskutinę projekto pakeistą reikšmę tikrinant projekto konfigūracijos pokyčius. Patogu netipinėms failų sistemoms, tokioms kaip NFT, arba kai projekto failas laikomas duomenų bazės sistemoje, tokioje kaip PostgreSQL.

  • off: visiškai išjungia vidinio podėlio pasendinimą

filesystem

Visi

QGIS_SERVER_SERVICE_URL

Tai parinktis, leidžianti nurodyti paslaugos URL, jei ji nenurodyta projekte.

Paslaugos URL paskaičiuojama pagal (pagal pirmumo eilę):

  • Reikšmę, kuri nurodyta paslaugai projekte

  • Aplinkos kintamąjį QGIS_SERVER_<service>_SERVICE_URL

  • Aplinkos kintamąjį QGIS_SERVER_SERVICE_URL

  • Antraštę X-Qgis-<service>-Service-Url

  • Antraštę X-Qgis-Service-Url

  • Sukuriama pagal antraštę Forwarded

  • Sukuriama pagal antraštes X-Forwarded-Host ir X-Forwarded-Proto

  • Sukuriama pagal Host antraštę ir serverio protokolą

  • Sukuriama pagal serverio pavadinimą ir serverio protokolą

Paskutiniais keturiais atvejais gaunamas paslaugos URL remiasi parametru MAP, kuris pateikiamas užklausos tekste ir įeinančia kelio užklausa.

‚‘

Visi

QGIS_SERVER_SHOW_GROUP_SEPARATOR

Nustato ar skaitinėms reikšmėms(pvz. GetFeatureInfo atsakuose) turi būti naudojamas grupės skyriklis (pvz. tūkstančių skyriklis). Numatytoji reikšmė yra 0.

  • 0 ar false (raidžių dydis nesvarbus)

  • 1 ar true (raidžių dydis nesvarbus)

false

WMS

QGIS_SERVER_TRUST_LAYER_METADATA

Tai projekto lygio parinktis, leidžianti pagerinti projekto skaitymo greitaveiką naudojant vektorinio sluoksnio apimtis, apibrėžtas projekto metaduomenyse ir išjungiant PostgreSQL/PostGIS sluoksnio pirminių raktų unikalumo tikrinimą.

Pasitikėjimas metaduomenimis gali būti priverstas nustatant reikšmę 1 ar true. Tada vektorinio sluoksnio apimtis bus ta, kuri yra apibrėžta projekte, o PostgreSQL/PostGIS sluoksnių duomenų šaltinyje apibrėžtas pirminis raktas bus traktuojamas kaip unikalus netikrinant.

Nenaudokite, jei sluoksnio apimtis kinta projekto naudojimo metu.

false

Visi

QGIS_SERVER_WCS_SERVICE_URL

Tai parinktis, nustatanti paslaugos URL, jei ji nėra nurodyta projekte. Daugiau informacijos rasite QGIS_SERVER_SERVICE_URL.

‚‘

WCS

QGIS_SERVER_WFS_SERVICE_URL

Tai parinktis, nustatanti paslaugos URL, jei ji nėra nurodyta projekte. Daugiau informacijos rasite QGIS_SERVER_SERVICE_URL.

‚‘

WFS

QGIS_SERVER_WMS_MAX_HEIGHT / QGIS_SERVER_WMS_MAX_WIDTH

Maksimalus WMS užklausos plotis/aukštis. Naudojama konservatyviausia iš šios ir projekto reikšmės. Jei reikšmė -1, tai reiškia, kad maksimumas nėra nustatytas.

-1

WMS

QGIS_SERVER_WMS_SERVICE_URL

Tai parinktis, nustatanti paslaugos URL, jei ji nėra nurodyta projekte. Daugiau informacijos rasite QGIS_SERVER_SERVICE_URL.

‚‘

WMS

QGIS_SERVER_WMTS_SERVICE_URL

Tai parinktis, nustatanti paslaugos URL, jei ji nėra nurodyta projekte. Daugiau informacijos rasite QGIS_SERVER_SERVICE_URL.

‚‘

WMTS

QUERY_STRING

Užklausos tekstas, kurį paprastai perduoda žiniatinklio serveris. Šis kintamasis gali būti naudingas testuojant QGIS serverio vykdomąjį kodą iš komandinės eilutės.

Pavyzdžiui testuojant komandinėje eilutėje GetCapabilities užklausą projektui, kuriam reikia ir PostgreSQL jungties, apibrėžtos pg_service.conf faile:

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

Rezultatas bus arba tiesiog GetCapabilities atsakas, o, jei kažkas nesuveikė, - klaidos pranešimas.

‚‘

Visi

6.3. Nustatymų apibendrinimas

Kai paleidžiamas QGIS Serveris, aplinkos kintamųjų dėka jūs turite sąrašą visų konfigūruojamų parametrų. Be to, parodoma ir šiuo metu naudojama reikšmė bei jos šaltinis.

Pavyzdžiui su 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

Šiuo konkrečiu atveju, mes žinome, kad QGIS_SERVER_MAX_THREADS ir QGIS_SERVER_PARALLEL_RENDERING reikšmės perskaitytos iš ini failo, kuris rastas QGIS_OPTIONS_PATH aplanke (kuris nustatytas per aplinkos kintamąjį). Atitinkami įrašai ini faile yra /qgis/max_threads ir /qgis/parallel_rendering, o jų reikšmės yra true ir 4 gijos.

6.4. Prisijungimas prie paslaugos failo

Kad apache žinotų apie PostgreSQL paslaugų failą (žr. skiltį PostgreSQL Service connection file), jums reikia, kad jūsų *.conf failas atrodytų taip:

SetEnv PGSERVICEFILE /home/web/.pg_service.conf

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

6.5. Pridėkite šriftus į jūsų linux serverį

Turėkite omenyje, kad jūs galite naudoti QGIS projektus, kurie tikisi šriftų, kurių pagal nutylėjimą nėra kitose mašinose. Tai reiškia, kad jei dalinatės projektu, kitose mašinose jis gali atrodyti kitaip (jei šriftai neegzistuoja paskirties mašinoje).

Kad užtikrintumėte, kad taip neatsitiktų, jums tiesiog reikia įdiegti trūkstamus šriftus paskirties mašinoje. Darbastalio sistemose tai padaryti paprastai trivialu (du kartus paspaudžiate šriftą).

Linux serverių atveju, jei jūs neturite įdiegtos darbastalio aplinkos (arba jums šiaip labiau patinka komandinė eilutė), jums reikia:

  • Debian paremtose sistemose:

    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
    
  • Fedora paremtose sistemose:

    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