Barvna shema: Temna
Trenutno dejavna stran: start » sl » Dokumentacija » Integracija podatkov in dostop do podatkov » WKL Database Gateway » Navodila » Ročna nastavitev prehoda kot sistemske storitve

Ročna nastavitev prehoda kot sistemske storitve

V sistemu Windows prehod kot storitev nastavi namestitveni paket. Brez paketa (na primer na preizkusnem računalniku ali v Linuxu) ga nastavite po tem navodilu. Isti program teče kot konzolni proces, kot storitev Windows ali kot storitev systemd in ustreznemu upravljalniku storitev sporoča zagon in ustavitev.

Pregled rešitve

Kot storitev Windows prehod za koren vsebine uporabi svojo programsko mapo (appsettings*.json, relativna pot shrambe); pod systemd velja WorkingDirectory. Račun storitve potrebuje dostop za branje do programa in glavnega ključa ter dostop za pisanje do podatkovne mape s skrbniško shrambo.

Konfiguracijo, glavni ključ, dovoljenja podatkovne mape in pravilo požarnega zidu nastavi ukaz setup-host, isti, ki ga pokliče namestitveni paket (glejte Ukazi na strežniku). Ročno morate opraviti le kopiranje datotek in registracijo storitve.

Kateri račun storitve. Namestitveni paket uporabi navidezni račun NT SERVICE\Wkl.Data.Gateway: ne potrebuje gesla, njegove pravice pa veljajo le za to storitev. NT AUTHORITY\NetworkService deluje enako, vendar si ga deli veliko storitev; kar mu dovoljuje podatkovna mapa, smejo tedaj tudi vse te storitve. Navidezni račun je mogoče razrešiti šele, ko je storitev registrirana; zato storitev registrirate pred ukazom setup-host.

Izvedba

Windows (PowerShell kot skrbnik)

  1. Objavljene datoteke kopirajte v programsko mapo:

    $program = Join-Path $env:ProgramFiles 'Wkl\Data Gateway'
    New-Item -ItemType Directory -Force $program | Out-Null
    Copy-Item -Recurse .\publish\* $program
  2. Registrirajte storitev, še ne da bi jo zagnali:

    sc.exe create Wkl.Data.Gateway binPath= "`"$program\dbgwsvc.exe`"" start= auto obj= "NT SERVICE\Wkl.Data.Gateway"
  3. Nastavite konfiguracijo, podatkovno mapo in glavni ključ. Brez --certificate prehod posluša le na http://127.0.0.1:8434; HTTPS nato dodate po navodilih Nastavitev protokola HTTPS in potrdila:

    & "$program\dbgwsvc.exe" setup-host --program $program `
        --data (Join-Path $env:ProgramData 'Wkl.Data.Gateway') --service-account 'NT SERVICE\Wkl.Data.Gateway'

    Izhodna koda je 0. Ukaz zapiše appsettings.Production.json v programsko mapo, ustvari podatkovno mapo z dovoljenji le za skrbnike, sistem in račun storitve ter ustvari geheim\hauptschluessel.key. To datoteko varnostno kopirajte zunaj strežnika.

  4. Registrirajte vir dogodkov, da prehod piše v dnevnik dogodkov (Windows PowerShell 5.1): New-EventLog -LogName Application -Source Wkl.Data.Gateway.
  5. Zaženite storitev: Start-Service Wkl.Data.Gateway.
  6. Ustvarite prvega skrbnika; glejte Ustvarjanje prvega skrbnika.
  7. Preverite: Invoke-RestMethod http://127.0.0.1:8434/health/live odgovori Healthy; Get-Service Wkl.Data.Gateway sporoči Running.

Linux

  1. Ustvarite račun brez prijave (useradd --system --no-create-home wkl-gateway), datoteke različice za Linux (linux-x64, ki jo ponudnik dobavi kot ločen arhiv; namestitveni paket vsebuje samo različico za Windows) kopirajte v /opt/wkl/gateway in računu dajte pravico pisanja le v podatkovno mapo. Konfiguracijo zapišite sami v appsettings.Production.json: vsaj Kestrel:Endpoints in Gateway:Store s potjo in glavnim ključem (glejte Konfiguracija); setup-host Linuxa ne nastavi.
  2. Ustvarite datoteko enote /etc/systemd/system/wkl-gateway.service:

    [Unit]
    Description=Wkl.Data.Gateway
    After=network-online.target
     
    [Service]
    Type=notify
    WorkingDirectory=/opt/wkl/gateway
    ExecStart=/opt/wkl/gateway/Wkl.Data.Gateway
    User=wkl-gateway
     
    [Install]
    WantedBy=multi-user.target

    Brez razdelka [Install] systemctl enable enoto zavrne.

  3. Enoto zaženite z systemctl enable --now wkl-gateway; dnevnik je v journalu (journalctl -u wkl-gateway).

Napotki

  • Mapo, ki jo prehod ustvari sam, smeta brati le račun storitve in skrbniki; skrbniki dostop potrebujejo za ukaze na strežniku.
  • Če prehod zaženete iz konzole, se vedenje ne spremeni.
  • Brez registriranega vira dogodkov prehod teče naprej, vendar v dnevnik dogodkov ne piše ničesar; glejte Odpravljanje težav.

Sorodne teme

sl/wiki/data-conectivity/database-gateway/how-to/run-as-windows-service.txt · Zadnja sprememba: uporabnika Wolfgang van der Stille