Sprawdź swoje umiejętności we wszystkich naszych usługach hostingowych i otrzymaj 15% zniżki!

Użyj kodu przy kasie:

Skills
06.11.2024

Użycie systemd do uruchomienia usługi Linux przy starcie systemu

Dla osób zarządzających aplikacjami lub usługami na hostingu Linux VPS, zapewnienie, że krytyczne usługi uruchamiają się automatycznie podczas rozruchu, jest niezbędne do utrzymania nieprzerwanego działania. Korzystając z systemd, potężnego i elastycznego systemu init, można łatwo skonfigurować usługi tak, aby uruchamiały się natychmiast po uruchomieniu systemu, co ma kluczowe znaczenie dla aplikacji internetowych, baz danych i innych istotnych usług działających w środowiskach VPS. Ten przewodnik przeprowadzi cię przez proces konfigurowania niestandardowej jednostki usługi systemd, dzięki czemu możesz zautomatyzować uruchamianie usług, usprawnić zarządzanie i zapewnić niezawodność konfiguracji hostingu Linux VPS

Użyj systemd, aby uruchomić usługę Linux podczas rozruchu

systemd to nowoczesny system init wykorzystywany przez wiele dystrybucji Linuksa do zarządzania usługami i zasobami systemowymi. Jedną z jego kluczowych funkcji jest możliwość automatycznego uruchamiania usług podczas rozruchu, zapewniając, że krytyczne aplikacje i usługi są gotowe do działania zaraz po uruchomieniu systemu. Ten artykuł poprowadzi Cię przez kroki tworzenia jednostki usługi systemd i umożliwi jej uruchamianie przy starcie systemu

Czym jest systemd?

systemd to system startowy, który zastępuje starsze systemy startowe, takie jak SysVinit i Upstart. Zarządza procesami i usługami systemowymi, pozwalając na zrównoleglenie uruchamiania usług, uruchamianie demonów na żądanie i lepszą kontrolę zasobów. Dzięki strukturze plików jednostkowych, systemd zapewnia elastyczny sposób zarządzania usługami, gniazdami, urządzeniami i innymi zasobami systemowymi

Tworzenie usługi systemd

Aby uruchomić usługę przy starcie systemu za pomocą systemd , należy utworzyć plik jednostki usługi. Plik ten zawiera wszystkie niezbędne informacje dla systemd do zarządzania usługą. Oto jak utworzyć i skonfigurować plik jednostki usługi

Krok 1: Sprawdź katalog roboczy

Otwórz plik jednostki usługi, aby sprawdzić dyrektywę WorkingDirectory

###ATP_PRO_NOTR_1_CODE_TAG_NOTR_ATP_PRO##

Znajdź linię WorkingDirectory. Powinien on wyglądać mniej więcej tak ( szukaj: Utwórz plik jednostki usługi)

###ATP_PRO_NOTR_2_CODE_TAG_NOTR_ATP_PRO##

Sprawdź,czy określony katalog istnieje

###ATP_PRO_NOTR_3_CODE_TAG_NOTR_ATP_PRO##

* /path/to/myapp – zastąp rzeczywistą ścieżką, której chcesz użyć. Jeśli pojawi się błąd, że katalog nie istnieje, należy go utworzyć

Krok 2: Utwórz katalog roboczy

Jeśli katalog nie istnieje, należy go utworzyć

###ATP_PRO_NOTR_4_CODE_TAG_NOTR_ATP_PRO##

Ustaw odpowiednie uprawnienia, aby użytkownik określony w dyrektywie User usługi mógł uzyskać do niego dostęp. Na przykład, jeśli usługa działa jako myuser

###ATP_PRO_NOTR_5_CODE_TAG_NOTR_ATP_PRO##

Tworzenie pliku jednostki usługi

  1. Otwórz terminal w systemie Linux.
  2. Utwórz nowy plik jednostki usługi w katalogu /etc/systemd/system/. Nazwa pliku powinna kończyć się na .service. Na przykład, aby utworzyć usługę dla niestandardowej aplikacji o nazwie myapp, należy uruchomić
    ###ATP_PRO_NOTR_6_CODE_TAG_NOTR_ATP_PRO##
  3. Dodaj następującą zawartość do pliku, modyfikując ją w razie potrzeby dla swojej aplikacji:
    [Unit]
    Description=My Custom Application
    After=network.target
    [Service]
    ExecStart=/usr/bin/myapp
    Restart=always
    User=myuser
    WorkingDirectory=/etc/systemd/myapp
    [Install]
    WantedBy=multi-user.target
  • sekcja [Unit]: Ta sekcja zawiera metadane i zależności dla usługi
      • Opis: Krótki opis usługi.
      • After: Określa, że usługa powinna zostać uruchomiona po udostępnieniu sieci.
  • sekcja [Service]: Ta sekcja definiuje zachowanie usługi
      • ExecStart: Polecenie uruchamiające usługę. Zastąp /usr/bin/myapp ścieżką do pliku wykonywalnego.
      • Restart: Określa zachowanie restartu. zawsze oznacza, że usługa uruchomi się ponownie, jeśli ulegnie awarii.
      • User: Określa użytkownika, pod którym powinna działać usługa.
      • WorkingDirectory: Ustawia katalog roboczy dla usługi.
  • sekcja [Install]: Ta sekcja określa sposób włączenia usługi.
      • WantedBy: Określa cel, pod którym usługa powinna zostać uruchomiona. multi-user.target jest wspólnym celem dla usług użytkownika.

Krok 3: Weryfikacja uprawnień

Sprawdź,czy użytkownik ma prawidłowe uprawnienia dostępu do katalogu roboczego

###ATP_PRO_NOTR_8_CODE_TAG_NOTR_ATP_PRO##

Upewnij się, że uprawnienia pozwalają użytkownikowi na odczytywanie i wykonywanie plików w tym katalogu

Krok 4: Przetestuj plik wykonywalny w katalogu roboczym

Upewnij się,że twoja aplikacja może działać z tego katalogu roboczego. Możesz to sprawdzić, przełączając się na użytkownika i przechodząc do katalogu

###ATP_PRO_NOTR_9_CODE_TAG_NOTR_ATP_PRO##
###ATP_PRO_NOTR_10_CODE_TAG_NOTR_ATP_PRO#
Sprawdź, czy działa bez żadnych błędów. Jeśli się nie powiedzie, rozwiąż problemy z samą aplikacją.

Krok 5: Przeładuj systemd i uruchom usługę

Po upewnieniu się, że katalog roboczy istnieje i jest poprawnie skonfigurowany, przeładuj konfigurację systemd

###ATP_PRO_NOTR_11_CODE_TAG_NOTR_ATP_PRO##

Spróbuj ponownie uruchomić usługę

###ATP_PRO_NOTR_12_CODE_TAG_NOTR_ATP_PRO##

Krok 6: Sprawdź status

Sprawdź status usługi, aby sprawdzić, czy została pomyślnie uruchomiona

###ATP_PRO_NOTR_13_CODE_TAG_NOTR_ATP_PRO##

Krok 7: Przejrzyj dzienniki pod kątem dodatkowych błędów

Jeśli usługa nadal nie uruchamia się, przejrzyj dzienniki w poszukiwaniu dodatkowych informacji

###ATP_PRO_NOTR_14_CODE_TAG_NOTR_ATP_PRO##

Krok 8: (Opcjonalnie) Zatrzymanie i wyłączenie usługi

Jeśli kiedykolwiek zajdzie potrzeba zatrzymania usługi lub uniemożliwienia jej uruchomienia podczas rozruchu, można użyć następujących poleceń

  • Aby zatrzymać usługę
    ###ATP_PRO_NOTR_15_CODE_TAG_NOTR_ATP_PRO##
  • Aby wyłączyć uruchamianie usługi przy starcie systemu
    ###ATP_PRO_NOTR_16_CODE_TAG_NOTR_ATP_PRO##

Wnioski

Używanie systemd do uruchamiania usług Linuksa podczas rozruchu jest prostym procesem, który zwiększa niezawodność systemu i zarządzanie nim. Tworząc plik jednostki usługi, można zdefiniować sposób uruchamiania aplikacji i zapewnić jej automatyczne uruchamianie wraz z systemem. Ta metoda nie tylko upraszcza zarządzanie usługami, ale także zapewnia zaawansowane funkcje kontrolowania ich zachowania, czyniąc systemd niezbędnym narzędziem do nowoczesnej administracji systemem Linux. Dzięki tym krokom możesz skutecznie konfigurować i zarządzać własnymi usługami, poprawiając ogólną funkcjonalność środowiska Linux. W przypadku napotkania jakichkolwiek problemów, przeglądanie dzienników za pomocą journalctl może dostarczyć pomocnych informacji na temat tego, co może być nie tak.

Sprawdź swoje umiejętności we wszystkich naszych usługach hostingowych i otrzymaj 15% zniżki!

Użyj kodu przy kasie:

Skills