Inhaltsverzeichnis
Runbook: Windows-Dienst
Trajanje: ~15 minuta
Uloga: Windows-Administrator
Preduvjet: Admin prava, .NET 8 Runtime
Data Gateway kao Windows-Dienst instalirati i upravljati.
Tijek rada
flowchart TD
A[Start] --> B[Gateway kopirati]
B --> C[Dienst registrirati]
C --> D[Dienst konfigurirati]
D --> E[Dienst pokrenuti]
E --> F[Health Check]
F --> G{OK?}
G -->|Da| H[Gotovo]
G -->|Ne| I[Event Log provjeriti]
style H fill:#e8f5e9
style I fill:#ffebee
1. Gateway instalirati
# Direktorij kreirati New-Item -ItemType Directory -Path "%SERVICES_ROOT%\DataGateway" -Force # Datoteke kopirati Copy-Item -Path ".\publish\*" -Destination "%SERVICES_ROOT%\DataGateway" -Recurse # Konfiguraciju prilagoditi notepad "%SERVICES_ROOT%\DataGateway\appsettings.json"
2. Dienst sa sc.exe kreirati
# Kao Administrator izvrsiti sc.exe create "DataGateway" ` binPath= "%SERVICES_ROOT%\DataGateway\WvdS.WebAPI.Data.Gateway.Api.exe" ` DisplayName= "WvdS Data Gateway" ` start= auto ` obj= "NT AUTHORITY\NETWORK SERVICE" # Opis postaviti sc.exe description "DataGateway" "REST/OData/GraphQL API Gateway za baze podataka"
3. Dienst sa NSSM kreirati (Alternativa)
NSSM (Non-Sucking Service Manager) pruza vise kontrole:
# NSSM preuzeti Invoke-WebRequest -Uri "https://nssm.cc/release/nssm-2.24.zip" -OutFile "nssm.zip" Expand-Archive -Path "nssm.zip" -DestinationPath "%TOOLS_PATH%" # Dienst instalirati %TOOLS_PATH%\nssm-2.24\win64\nssm.exe install DataGateway "%SERVICES_ROOT%\DataGateway\WvdS.WebAPI.Data.Gateway.Api.exe" # Konfiguracija nssm set DataGateway AppDirectory "%SERVICES_ROOT%\DataGateway" nssm set DataGateway DisplayName "WvdS Data Gateway" nssm set DataGateway Description "REST/OData/GraphQL API Gateway" nssm set DataGateway Start SERVICE_AUTO_START nssm set DataGateway AppStdout "%SERVICES_ROOT%\DataGateway\logs\stdout.log" nssm set DataGateway AppStderr "%SERVICES_ROOT%\DataGateway\logs\stderr.log" nssm set DataGateway AppRotateFiles 1 nssm set DataGateway AppRotateBytes 10485760
4. Dienst pokrenuti
# Pokretanje Start-Service -Name "DataGateway" # Status provjeriti Get-Service -Name "DataGateway" # Zaustavljanje Stop-Service -Name "DataGateway" # Ponovno pokretanje Restart-Service -Name "DataGateway"
5. Autostart konfigurirati
# Autostart pri pokretanju sustava Set-Service -Name "DataGateway" -StartupType Automatic # Odgodeni start (nakon mreze) sc.exe config "DataGateway" start= delayed-auto # Recovery opcije (pri padu ponovno pokrenuti) sc.exe failure "DataGateway" reset= 86400 actions= restart/60000/restart/60000/restart/60000
6. Health Check
# Pricekati dok je Dienst spreman Start-Sleep -Seconds 5 # Health Check $response = Invoke-WebRequest -Uri "http://localhost:5000/health" -UseBasicParsing if ($response.StatusCode -eq 200) { Write-Host "Gateway radi!" -ForegroundColor Green } else { Write-Host "Gateway problem!" -ForegroundColor Red Get-EventLog -LogName Application -Source "DataGateway" -Newest 10 }
7. Kontrolna lista
| # | Provjera | Da/Ne |
| — | ———– | — |
| 1 | Datoteke u %SERVICES_ROOT%\DataGateway | - |
| 2 | appsettings.json konfiguriran | - |
| 3 | Dienst registriran | - |
| 4 | Dienst pokrenut | - |
| 5 | Health Check uspjesan | - |
| 6 | Autostart aktivan | - |
| 7 | Recovery konfiguriran | - |
Rjesavanje problema
| Problem | Uzrok | Rjesenje |
| ——— | ——— | ——– |
Dienst se ne pokrece | Nedostaje .NET Runtime | dotnet –info provjeriti |
Access denied | Nedostaju prava | Kao Admin instalirati |
Port vec zauzet | Drugi proces | netstat -ano | findstr 5000 |
Config error | JSON-Sintaksa | appsettings.json validirati |
Event Log provjeriti:
Get-EventLog -LogName Application -Source "DataGateway" -Newest 20 | Format-Table TimeGenerated, EntryType, Message -Wrap
Dienst ukloniti
# Zaustaviti Stop-Service -Name "DataGateway" -Force # Ukloniti sc.exe delete "DataGateway" # Datoteke obrisati (opcionalno) Remove-Item -Path "%SERVICES_ROOT%\DataGateway" -Recurse -Force
Povezani runbookovi
- Docker - Container alternativa
- Health Check - Dostupnost provjeriti
- TLS postavljanje - HTTPS aktivirati
« <- Automatizacija | -> systemd »
Wolfgang van der Stille @ EMSR DATA d.o.o. - Data Gateway Professional
Zuletzt geändert: 29.01.2026. u 23:37