Skip to main content

Cyber AI România

Miercuri, 16 septembrie 2026

Servicii Linux explicate: cum verifici dacă un serviciu rulează corect

În Linux, un serviciu este un program care rulează în fundal și oferă o funcție importantă sistemului: SSH pentru conectare remote, Nginx sau Apache pentru site-uri, MariaDB/MySQL pentru baze de date, cron pentru taskuri programate sau fail2ban pentru protecție. Pe distribuțiile moderne precum Ubuntu, Debian, Fedora, Rocky Linux sau AlmaLinux, multe servicii sunt controlate prin systemd, iar comanda principală pentru administrare este systemctl.

Un fișier de tip .service descrie un proces controlat și supravegheat de systemd, inclusiv cum pornește, ce dependențe are și cum se comportă la oprire sau restart.

Verificarea rapidă: systemctl status

Cea mai folosită comandă este:

systemctl status nume-serviciu

Exemple concrete:

systemctl status ssh
systemctl status nginx
systemctl status apache2
systemctl status mysql
systemctl status mariadb

La rezultat, uită-te la câteva linii importante:

Loaded: loaded
Active: active (running)
Main PID: 1234

Dacă vezi Active: active (running), serviciul rulează. Dacă vezi failed, inactive, dead sau exited, trebuie investigat. systemctl este comanda folosită pentru controlul managerului systemd și poate lista unități, arăta statusul lor și filtra unitățile după stare.

Atenție: un serviciu poate fi „enabled”, dar să nu ruleze acum. Sau poate rula acum, dar să nu pornească automat după restart.

Diferența dintre active și enabled

Pentru a vedea dacă un serviciu rulează în acest moment:

systemctl is-active nginx

Dacă răspunsul este:

active

serviciul rulează.

Pentru a vedea dacă pornește automat la boot:

systemctl is-enabled nginx

Răspunsuri posibile:

enabled
disabled
static
masked

enabled înseamnă că serviciul este configurat să pornească automat.
disabled înseamnă că nu pornește automat.
masked înseamnă că serviciul este blocat intenționat și nu poate fi pornit normal.

Pentru activare la boot:

sudo systemctl enable nginx

Pentru pornire imediată:

sudo systemctl start nginx

Pentru ambele:

sudo systemctl enable --now nginx

Verifică serviciile eșuate

O comandă foarte utilă pentru administratori este:

systemctl --failed

Aceasta listează unitățile aflate în stare de eroare. Manualul systemctl precizează că opțiunea --failed listează unitățile în stare failed, fiind echivalentă cu filtrarea după --state=failed.

Dacă vezi ceva aici, nu da restart imediat fără să citești eroarea. Următorul pas este:

systemctl status nume-serviciu

Apoi:

journalctl -u nume-serviciu -b

Citește logurile cu journalctl

journalctl afișează logurile păstrate de systemd-journald, serviciul care colectează și stochează date de log pentru sistem și servicii.

Pentru logurile unui serviciu din bootul curent:

journalctl -u nginx -b

Pentru ultimele 50 de linii:

journalctl -u nginx -n 50

Pentru urmărire live:

journalctl -u nginx -f

Pentru erori recente:

journalctl -u nginx -p err -b

Dacă Nginx nu pornește, logurile pot arăta cauza: port ocupat, configurare greșită, certificat SSL lipsă, permisiuni incorecte sau fișier de configurare invalid.

Verifică dacă serviciul ascultă pe portul corect

Un serviciu poate apărea ca activ, dar să nu răspundă unde te aștepți. Pentru porturi:

sudo ss -tulpen

Exemple:

  • SSH ar trebui să asculte de obicei pe portul 22;
  • HTTP pe 80;
  • HTTPS pe 443;
  • MySQL/MariaDB pe 3306, de preferat local, nu expus public;
  • PostgreSQL pe 5432, de preferat local sau limitat.

Pentru Nginx:

sudo ss -tulpen | grep nginx

Pentru Apache:

sudo ss -tulpen | grep apache

Pentru SSH:

sudo ss -tulpen | grep ssh

Dacă un serviciu web rulează, dar portul 80 sau 443 nu apare, problema poate fi în configurare, firewall sau serviciul real care nu a pornit corect.

Verifică fișierul de configurare înainte de restart

Pentru Nginx:

sudo nginx -t

Pentru Apache:

sudo apachectl configtest

Pentru SSH:

sudo sshd -t

Dacă testul spune că există eroare, nu reporni serviciul până nu corectezi problema. Pe un server remote, o configurare greșită la SSH te poate bloca în afara serverului.

Rețeta practică de diagnostic

Când un serviciu nu merge, verifică în ordine:

systemctl status nume-serviciu
systemctl is-active nume-serviciu
systemctl is-enabled nume-serviciu
journalctl -u nume-serviciu -b -n 80
systemctl --failed
sudo ss -tulpen

Dacă ai modificat configurația, testează sintaxa înainte de restart. Dacă serviciul este critic, fă backup la fișierul de configurare înainte să îl schimbi.

Un administrator Linux bun nu repornește servicii la întâmplare. Verifică statusul, citește logurile, confirmă porturile, testează configurația și abia apoi aplică schimbarea. Așa reduci downtime-ul și eviți probleme mai mari decât cea inițială.

Surse folosite

systemctl — manual Linux pentru controlul serviciilor și unităților systemd.
systemctl — opțiunea --failed pentru listarea unităților eșuate.
systemd.service — structura fișierelor .service.
journalctl — afișarea logurilor din systemd journal.
systemd-journald — colectarea și stocarea logurilor de sistem.

Facebook
X
WhatsApp

Te-ar putea interesa si: