MEVCORE

Керування службами в Linux: systemctl і журнали journalctl

Оновлено 09.10.2026

Служби (сервіси) — це програми, що працюють у фоні: вебсервер 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.

Служба постійно падає

  1. Подивіться systemctl status назва — там буде код виходу.
  2. Відкрийте journalctl -u назва -n 50 — причина зазвичай в останніх рядках: помилка в конфігурації, зайнятий порт (як перевірити), нестача пам'яті або місця на диску (як звільнити).

Не знайшли відповідь?

Опишіть завдання, додайте текст помилки та скриншот — команда підтримки допоможе знайти наступний крок.

Як до вас звертатися?

Введіть ім’я, перш ніж почати діалог.

Вітаємо! Напишіть ваше питання — оператор відповість якнайшвидше.
Оцініть відповідь оператора