Blog o spletnem programiranju in elektroniki
💬 👤
back Nazaj na blog
Linux

Kako deluje systemctl in upravljanje sistemskih storitev v Linuxu

V sodobnih Linux distribucijah (kot so Ubuntu, Debian, CentOS in RedHat) je systemd privzeti inicializacijski sistem in upravitelj storitev, ki se zažene kot prvi proces (PID 1). Glavno orodje za upravljanje, nadzor in konfiguracijo storitev v tem okolju je ukaz systemctl. V tem članku si bomo ogledali, kako z njim preprosto zaganjati, ustavljati, omogočati ter diagnosticirati strežniške storitve.

Osnovni ukazi za nadzor stanja storitev

Z ukazom systemctl lahko v trenutku preverimo, ali določen strežnik (npr. spletni strežnik ali baza podatkov) deluje pravilno.

Ukaz Namen Primer uporabe
systemctl start Takoj zažene izbrano storitev. sudo systemctl start nginx
systemctl stop Zaustavi trenutno delujočo storitev. sudo systemctl stop apache2
systemctl restart Ponovno zažene storitev (stop + start). sudo systemctl restart mysql
systemctl reload Ponovno naloži nastavitve brez prekinitve povezav. sudo systemctl reload nginx
systemctl status Prikaže podrobno stanje delovanja in zadnje dnevnike. sudo systemctl status php8.2-fpm

Samodejni zagon ob vklopu strežnika

Za storitve, ki morajo teči neprekinjeno (npr. spletni strežnik po ponovnem zagonu sistema), moramo nastaviti samodejni zagon.

  1. systemctl enable: Nastavi storitev tako, da se samodejno zažene ob vsakem zagonu operacijskega sistema.
  2. systemctl disable: Onemogoči samodejni zagon ob sistemskem štartu.
  3. systemctl is-enabled: Hitro preveri, ali je samodejni zagon za določeno storitev vklopljen.

Praktični primeri upravljanja strežnika

Spodnji primer prikazuje celotno zaporedje ukazov za zagon, omogočanje ter diagnostiko spletnega strežnika Nginx.

# 1. Začetni zagon storitve Nginx
sudo systemctl start nginx

# 2. Vklop samodejnega zagona ob vklopu strežnika
sudo systemctl enable nginx

# 3. Pregled stanja (zeleni krog 'active (running)' pomeni nemoteno delovanje)
sudo systemctl status nginx

# 4. Pregled vseh aktivnih sistemskih storitev
systemctl list-units --type=service --state=running

Diagnostika napak z orodjem journalctl

Če se storitev noče zagnati in systemctl status javi napako (stanje failed), uporabimo orodje journalctl za podroben pregled sistemskih dnevnikov. Z ukazom journalctl -u nginx.service -e si lahko ogledate točen vzrok napake (npr. napako v konfiguracijski datoteki).

back Nazaj na blog