Utilizați Systemd pentru a porni un serviciu Linux la pornire

Popular:
ÎMBUNĂTĂȚEȘTE CONFIGURAREA SERVERULUI TĂU! APLICA AVA ȘI LANSARE CU UN 15% DISCOUNT
FOLOSEȘTE PROMO:

Introducere

Systemd este un sistem init puternic utilizat de majoritatea distribuțiilor Linux moderne pentru a gestiona procesele sistemului și ale serviciilor. Una dintre caracteristicile sale cheie este capacitatea de a porni automat serviciile la pornire. Acest articol vă va ghida prin procesul de configurare a unui serviciu care să pornească la pornire cu ajutorul Systemd, asigurându-vă că aplicațiile dvs. critice rulează fiabil ori de câte ori sistemul este repornit.

Înțelegerea serviciilor Systemd

Systemd utilizează fișiere unitare pentru a defini și gestiona serviciile. Aceste fișiere unitare sunt stocate în:

  • Servicii la nivel de sistem:
    /etc/systemd/system/

    și

    /lib/systemd/system/
  • Servicii specifice utilizatorului:
    ~/.config/systemd/user/

Un fișier de unitate de serviciu are de obicei extensia

.service

și conține directive de configurare care indică Systemd cum să gestioneze serviciul.

Crearea unui fișier de serviciu Systemd

Pentru a configura un serviciu care să pornească la pornire, trebuie să creați un fișier de serviciu Systemd. Iată un exemplu de creare a unui serviciu personalizat.

1. Crearea fișierului de serviciu

Executați următoarea comandă pentru a deschide un nou fișier de serviciu într-un editor de text:

sudo nano /etc/systemd/system/myservice.service

2. Definirea configurației serviciului

Adăugați următorul conținut, modificându-l în funcție de aplicația dvs:

[Unit] Description=My Custom Service After=network.target [Service] ExecStart=/usr/bin/myapp Restart=always User=myuser Group=mygroup WorkingDirectory=/home/myuser/ [Install] WantedBy=multi-user.target

Explicație:

  • After=network.target

    : Asigură pornirea serviciului după ce rețeaua este disponibilă.

  • ExecStart=/usr/bin/myapp

    : Definește comanda de pornire a serviciului.

  • Restart=always

    : Asigură repornirea serviciului în caz de eșec.

  • User=myuser

    și

    Group=mygroup

    : Rulează serviciul sub un anumit utilizator și grup.

  • WantedBy=multi-user.target

    : Asigură pornirea serviciului în modul multiutilizator (nivel de execuție implicit pentru majoritatea serverelor).

3. Reîncărcați Systemd și activați serviciul

După ce fișierul de serviciu este creat, reîncărcați Systemd pentru a recunoaște noul serviciu:

sudo systemctl daemon-reload

Activați serviciul pentru a porni la pornire:

sudo systemctl enable myservice.service

4. Porniți și verificați serviciul

Porniți manual serviciul:

sudo systemctl start myservice.service

Verificați starea serviciului:

sudo systemctl status myservice.service

Dacă totul este configurat corect, ar trebui să vedeți o ieșire care indică faptul că serviciul rulează.

Gestionarea serviciului

Iată câteva comenzi utile pentru gestionarea serviciului Systemd:

  • Reporniți serviciul:
    sudo systemctl restart myservice.service
  • Opriți serviciul:
    sudo systemctl stop myservice.service
  • Dezactivați pornirea serviciului la pornire:
    sudo systemctl disable myservice.service
  • Vizualizați jurnalele legate de serviciu:
    journalctl -u myservice.service --no-pager

Concluzii

Utilizarea Systemd pentru a porni serviciile la pornire este o modalitate simplă și eficientă de a vă asigura că aplicațiile critice rămân în funcțiune după repornirea sistemului. Prin configurarea corectă a unui fișier de servicii Systemd, activarea acestuia la pornire și gestionarea sa cu

systemctl

, puteți îmbunătăți fiabilitatea și automatizarea mediului Linux.