Служби (сервіси) — це програми, що працюють у фоні: вебсервер Nginx, PHP-FPM, MySQL, SSH. У сучасних дистрибутивах (Ubuntu, Debian, AlmaLinux, Rocky) ними керує systemd через команду systemctl.
Основні команди
sudo systemctl status nginx # стан служби та останні рядки журналу
sudo systemctl start nginx # запустити
sudo systemctl stop nginx # зупинити
sudo systemctl restart nginx # перезапустити
sudo systemctl reload nginx # перечитати конфігурацію без розриву з'єднань
sudo systemctl enable nginx # запускати автоматично після перезавантаження
sudo systemctl disable nginx # прибрати з автозавантаження
sudo systemctl enable --now nginx # увімкнути автозапуск і запустити одразу
Як читати status
● nginx.service - A high performance web server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled)
Active: active (running) since Thu 2026-10-09 10:15:02 UTC; 2h ago
enabled— служба в автозавантаженні;disabled— ні.active (running)— працює;inactive (dead)— зупинена;failed— впала з помилкою.
reload чи restart
Після зміни конфігурації Nginx або PHP-FPM використовуйте reload — відвідувачі не помітять перезапуску. Але спочатку перевірте конфігурацію на помилки, інакше служба може не піднятися:
sudo nginx -t && sudo systemctl reload nginx
sudo apachectl configtest && sudo systemctl reload apache2
Список служб
systemctl list-units --type=service --state=running # працюючі
systemctl --failed # ті, що впали
Журнали: journalctl
systemd збирає вивід усіх служб у єдиний журнал.
sudo journalctl -u nginx # журнал однієї служби
sudo journalctl -u nginx -n 100 # останні 100 рядків
sudo journalctl -u nginx -f # стежити в реальному часі
sudo journalctl -u mysql --since "1 hour ago"
sudo journalctl -u php8.3-fpm --since today
sudo journalctl -p err -b # лише помилки з моменту завантаження
sudo journalctl -k # повідомлення ядра
У перегляді: Space — наступна сторінка, / — пошук, q — вихід.
Інші журнали
Частина програм пише власні файли журналів у /var/log:
/var/log/nginx/error.log,access.log— Nginx;/var/log/apache2/або/var/log/httpd/— Apache;/var/log/mysql/error.log— MySQL;/var/log/auth.log(Ubuntu, Debian) або/var/log/secure(AlmaLinux, Rocky) — входи по SSH і sudo.
Служба постійно падає
- Подивіться
systemctl status назва— там буде код виходу. - Відкрийте
journalctl -u назва -n 50— причина зазвичай в останніх рядках: помилка в конфігурації, зайнятий порт (як перевірити), нестача пам'яті або місця на диску (як звільнити).