0Pricing
DevOps Bootcamp · Lekcja

Zarządzanie usługami za pomocą systemd

Uruchamiaj, zatrzymuj i włączaj usługi.

Zarządzanie usługami za pomocą systemd to bezpłatna lekcja DevOps Bootcamp na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej DevOps Bootcamp, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.

Zarządzanie długotrwale działającymi usługami

Moduł systemd steruje usługami zarządzanymi przez systemd, systemem init używanym w większości współczesnych dystrybucji Linuksa. Umożliwia ich uruchamianie, zatrzymywanie i włączanie.

Uruchamianie usługi

Należy podać nazwę usługi i ustawić state: started. Moduł uruchomi ją tylko wtedy, gdy nie jest już uruchomiona, zachowując idempotencję.

ansible.builtin.systemd:
  name: nginx
  state: started

Zatrzymywanie usługi

Użycie state: stopped zatrzymuje usługę. Jak zawsze, moduł działa tylko wtedy, gdy usługa jest obecnie uruchomiona.

ansible.builtin.systemd:
  name: nginx
  state: stopped

Restart i przeładowanie

state: restarted całkowicie restartuje usługę, natomiast reloaded ponownie odczytuje konfigurację bez zrywania połączeń. Restart jest bezpiecznym ustawieniem domyślnym.

ansible.builtin.systemd:
  name: nginx
  state: restarted

Uruchomienie i włączenie to różne operacje

state określa, czy usługa działa teraz. enabled określa, czy uruchomi się automatycznie podczas startu systemu. Te ustawienia są niezależne.

Włączanie przy uruchamianiu systemu

Należy ustawić enabled: true, aby usługa uruchamiała się automatycznie po ponownym uruchomieniu systemu. Połączenie tej opcji z started obejmuje zarówno bieżący stan, jak i przyszłe uruchomienia.

ansible.builtin.systemd:
  name: nginx
  state: started
  enabled: true

Przeładowywanie demona systemd

Po dodaniu nowego pliku jednostki należy ustawić daemon_reload: true, aby systemd ponownie odczytał konfigurację przed wykonaniem operacji na tej jednostce.

ansible.builtin.systemd:
  name: myapp
  daemon_reload: true

Idempotencja zostaje zachowana

Żądanie uruchomienia działającej usługi daje wynik ok, a nie changed. Moduł sprawdza bieżący stan przed wykonaniem jakiejkolwiek operacji.

Wymagany jest dostęp root

Do sterowania usługami wymagane są odpowiednie uprawnienia, dlatego należy dodać become: true. Bez tego systemd odmawia wykonania operacji, a zadanie kończy się niepowodzeniem.

- name: Enable nginx
  become: true
  ansible.builtin.systemd:
    name: nginx
    enabled: true

Istnieje też moduł service

Ogólny moduł service działa z różnymi systemami init. Z systemd należy korzystać bezpośrednio, gdy potrzebne są opcje dostępne tylko w systemd, takie jak daemon_reload.

Dobrze współpracuje z handlerami

Typowy wzorzec polega na restarcie usługi tylko wtedy, gdy zmieni się jej konfiguracja. Handlery, które poznają Państwo później, uruchamiają ten restart po wykryciu zmiany.

Szybkie sprawdzenie

Usługa nginx ma działać teraz, a także po każdym ponownym uruchomieniu systemu.

Podsumowanie

Moduł systemd uruchamia, zatrzymuje, restartuje i włącza usługi. Należy pamiętać, że state oznacza stan bieżący, a enabled — uruchamianie podczas startu systemu. ⚙️

Często zadawane pytania

Czy lekcja „Zarządzanie usługami za pomocą systemd” jest bezpłatna?

Tak — pełny tekst „Zarządzanie usługami za pomocą systemd” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu DevOps Bootcamp, przejdź na CoddyKit PRO. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.

Co nauczysz się w „Zarządzanie usługami za pomocą systemd”?

Uruchamiaj, zatrzymuj i włączaj usługi. Ćwiczysz DevOps Bootcamp z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć DevOps Bootcamp?

Nie wymagamy żadnego doświadczenia. DevOps Bootcamp w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Zarządzanie usługami za pomocą systemd”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji DevOps Bootcamp?

Tak. Każda lekcja DevOps Bootcamp zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Czym właściwie jest moduł
  2. Instalowanie pakietów za pomocą modułu package
  3. Zarządzanie usługami za pomocą systemd
  4. Czytanie dokumentacji za pomocą ansible-doc
← Powrót do DevOps Bootcamp