Inhaltsverzeichnis
Beispiel: Basic Python Skript -Dienst
Schlüsseloptionen erklärt:
✅ 2. laden systemd neu und aktivieren Sie den Dienst
Heim Betrieb und Instandhaltung CentOS So erstellen Sie eine Systemd -Dienstdatei

So erstellen Sie eine Systemd -Dienstdatei

Jul 23, 2025 am 02:01 AM

Erstellen einer Dienstdatei: Erstellen Sie eine .myapp.Service -Datei in/etc/systemd/system/, setzen Sie die Abschnitte [Einheit], [Service], [Installation] und konfigurieren Sie Schlüsselparameter wie Beschreibung, ExecStart (mit Absolute Pfad), Benutzer, Neustart usw.; 2. Laden Sie den Dienst neu und aktivieren Sie den Dienst: Sudo SystemCtl Daemon-Reload ausführen, aktivieren und den Dienst aktivieren und das Sachanschlag festlegen. 3. Vermeiden Sie häufige Fehler: Verwenden Sie keine relativen Pfade, führen Sie nicht mit root aus, stellen Sie sicher, dass die Skriptberechtigungen korrekt sind und nach der Änderung überladen werden müssen. Verwenden Sie schließlich den sudo systemCTL -Status und JournalCtl -u MyApp.Service -f, um den Status und die Protokolle zu überprüfen, damit die Anwendung als Systemdienst stabil ausgeführt und automatisch neu gestartet werden kann und vollständig endet.

So erstellen Sie eine Systemd -Dienstdatei

Das Erstellen einer Systemd -Dienstdatei ist unkompliziert, sobald Sie die Struktur und den Standort kennen. Hier erfahren Sie, wie Sie es Schritt für Schritt machen-egal, ob Sie ein Python-Skript, eine Node.js-App oder einen langjährigen Prozess ausführen.

So erstellen Sie eine Systemd -Dienstdatei

✅ 1. Schreiben Sie die Dienstdatei

Erstellen Sie eine .service Datei in /etc/systemd/system/ (für systemweite Dienste):

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

Ersetzen Sie myapp durch Ihren Servicenamen.

So erstellen Sie eine Systemd -Dienstdatei

Beispiel: Basic Python Skript -Dienst

 [Einheit]
Beschreibung = meine Python -Anwendung
Nach = network.target

[Service]
Typ = einfach
User = myuser
WorkingDirectory =/home/myuser/myapp
Execstart =/usr/bin/python3 /home/myuser/myapp/app.py
Neu starten = immer
Neustartsec = 10

[Installieren]
WantbyBy = multi-user.target

Schlüsseloptionen erklärt:

  • Description : Human-Lesbarer Name.
  • After : Sicherstellen, dass der Dienst nach Ablauf des Netzwerks beginnt.
  • Type=simple : Angenommen, der Prozess beginnt sofort (keine Gaber).
  • User : Ausführen als Nicht-Root-Benutzer (empfohlen).
  • WorkingDirectory : Wo die App herabläuft.
  • ExecStart : Voller Pfad zu Ihrem Befehl/Skript.
  • Restart=always : automatisch restart, wenn es abstürzt.
  • WantedBy=multi-user.target : Ermöglicht den Dienst am Boot.

? Tipp: Verwenden Sie absolute Pfade in ExecStart . Testen Sie Ihren Befehl zuerst manuell!


✅ 2. laden systemd neu und aktivieren Sie den Dienst

Nach dem Speichern der Datei:

So erstellen Sie eine Systemd -Dienstdatei
 sudo systemctl dämon-reload
sudo systemctl aktivieren myapp.service # automatisch start am boot
sudo systemctl start myapp.service # starten Sie jetzt

Status überprüfen:

 sudo systemctl status myapp.service

Protokolle (sehr nützlich zum Debuggen):

 Journalctl -u myapp.service -f

✅ 3.. Häufige Fallstricke zu vermeiden

  • sudo beim Bearbeiten /etc/systemd/system/
  • ❌ Verwenden von relativen Pfaden in ExecStart
  • ❌ Nicht ordnungsgemäße Berechtigungen in Ihrem Skript festlegen
  • ❌ als root laufen, es sei denn, dies ist absolut notwendig
  • ❌ Überspringen systemctl daemon-reload nach Änderungen

Das war's! Jetzt läuft Ihre App wie ein richtiger Linux-Dienst-automatisch-restarting, protokolliert sich bei JournalCtl und beginnt mit dem Boot.
Schneiden Sie einfach die Pfade und Optionen für Ihren Anwendungsfall an (Node.js, Go, Shell Skript usw.).

Grundsätzlich: Schreiben → REGLOAD → Aktivieren → Start → Protokolle überprüfen.
Nicht komplex - aber leicht durcheinander zu bringen, wenn Sie Schritte überspringen.

Das obige ist der detaillierte Inhalt vonSo erstellen Sie eine Systemd -Dienstdatei. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

PHP-Tutorial
1532
276
Wie man in CentOS eine neue Festplatte formatiert Wie man in CentOS eine neue Festplatte formatiert Aug 03, 2025 am 08:19 AM

Identifythenewdiskusinglsblkorfdisk-ltolocatethecorrectdevicelike/dev/sdb.2.Optionallypartitionthediskwithfdisk/dev/sdb,createaprimarypartitionusingdefaultsettings,andwritechangeswithw,thenrunpartprobetoupdatethekernel.3.Createafilesystemusingmkfs-tx

So konfigurieren Sie die Netzwerkbindung in CentOS So konfigurieren Sie die Netzwerkbindung in CentOS Jul 27, 2025 am 03:44 AM

Stellen Sie sicher, dass das System das Bindungsmodul geladen hat, und bestätigen Sie, dass die Netzwerkkartenschnittstelle verfügbar ist. Verwenden Sie Modprobebonding und LSMOD, um dies zu überprüfen. 2. Create/etc/sysconfig/network-scripts/ifcfg-bond0-Konfigurationsdateien, Geräte, Typ, Bonding_Master, IP-Parameter und Bonding_Opts = modus = active-backUpMiimon = 100primary = EN ENS33 setzen; 3. Konfigurieren Sie IFCFG -Dateien von physischen Netzwerkkarten Ens33 und ENS34, setzen Sie Master = Bond0, SLAVE = YES und entfernen Sie die IP -Konfiguration

So ändern Sie das Benutzerkennwort in CentOS So ändern Sie das Benutzerkennwort in CentOS Jul 26, 2025 am 07:37 AM

TOCHANGEYOURownPasswordincentos, RunpasswdandenteryOrcurcurTpasswordFeedByTenewPasswordtwice.2.Tochangeanotheruser'sword, useudopasswdusernameorrunpasswdusernameasroot, die doesnotrequiretheuser'sSoldword.3.ToforceauStocheirpaseirpaseirpassWoeirpaseirpaseirpaseirpasswords.

So installieren Sie Apache auf CentOS So installieren Sie Apache auf CentOS Aug 02, 2025 am 06:12 AM

Aktualisieren Sie das System: Führen Sie Sudoyumupdate-y oder sudodnfupdate-y aus, um sicherzustellen, dass das System auf dem neuesten Stand ist. 2. Installieren Sie Apache: Verwenden Sie Sudoyuminstallhttpd-y oder sudodnfinstallhttpd-y, um den Webserver zu installieren. 3. Starten und Aktivieren Sie den Dienst: SudosystemctlstartTPD und SudosystemClEnableHttpd führen, um sicherzustellen, dass die Leistung automatisch gestartet wird. 4. Konfigurieren Sie die Firewall: Wenn Firewalld aktiviert ist, laufen

Wie benutze ich Sestatus und Getsbool für die Selinux -Diagnostik? Wie benutze ich Sestatus und Getsbool für die Selinux -Diagnostik? Jul 21, 2025 am 04:02 AM

SELINUX -Erlaubnisprobleme können durch Sestatus und Getsbool behoben werden. Verwenden Sie zunächst Sestatus, um zu überprüfen, ob Selinux aktiviert ist und der aktuelle Modus. Wenn es durchgesetzt wird, können die Programmberechtigungen eingeschränkt werden. Zweitens überprüfen Sie Gettsbool, um die booleschen Servicewerte im Zusammenhang mit dem Service zu überprüfen, z. B. ob httpd_enable_homedirs aktiviert ist. Während der Fehlerbehebung können Sie in den zulässigen Modus wechseln, um zu testen, ob das Problem verschwindet, und mit Audit2whe den Ablehnungsdatensatz im Protokoll analysieren und die Anpassung der booleschen Werte oder das Hinzufügen von Richtlinienmodulen, anstatt das Selinux direkt auszuschalten, priorisieren.

Wie deaktiviere ich Selinux dauerhaft? Wie deaktiviere ich Selinux dauerhaft? Jul 21, 2025 am 02:52 AM

Um Selinux dauerhaft zu schließen, müssen Sie die Konfigurationsdatei ändern und das System neu starten. Die spezifischen Schritte sind: 1. Bearbeiten Sie die Datei/etc/selinux/config und ändern Sie den Wert von selinux = in deaktiviert; 2. Speichern und beenden und starten Sie das System neu; 3. Verwenden Sie den Befehl Sestatus oder GetEnforce, um zu bestätigen, ob sich der Status in deaktiviert geändert hat. Beachte Wenn Sie vorübergehend SELINUX = 0 deaktivieren können, können Sie über GRUB hinzugefügt werden, es wird jedoch nicht lange empfohlen, lange Zeit zu verwenden. Es wird empfohlen, beim Debuggen den Erlfdigungsmodus zu wechseln, anstatt vollständig herunterzufahren, da das Ausschalten von Selinux die Systemsicherheit schwächen wird.

Wie starten Sie im Rettungsmodus oder im Einzelbenutzermodus? Wie starten Sie im Rettungsmodus oder im Einzelbenutzermodus? Jul 25, 2025 am 12:05 AM

1. Die Kernmethoden zum Eingeben des Rettungsmodus oder des Einzelbenutzermodus sind: Auswählen der Startmedien über BIOS/UEFI, Auswählen des Rettungskernels oder zum Bearbeiten von Startparametern im GRUB-Menü. 2. Die spezifischen Vorgänge variieren von System zu System. Linux kann den Rettungsmodus über die Option "Fehlerbehebung" der Installationsdiskette oder der GRUB -Bearbeitungsparameter eingeben. Im Single-User-Modus müssen Sie init =/bin/bash und andere Parameter in grub hinzufügen. 3.. 4. MacOS verwendet den Befehl R, um den Wiederherstellungsmodus einzugeben, wobei Terminal- und Kennwortresetfunktionen bereitgestellt werden. 5. Windows verwendet

So setzen Sie das Root -Passwort in CentOS zurück So setzen Sie das Root -Passwort in CentOS zurück Jul 23, 2025 am 02:16 AM

Neustart und geben Sie das Grub -Menü ein und drücken Sie E, um das Startelement zu bearbeiten. 2. Fügen Sie init =/bin/bash oder rd.braken am Ende der Linux- oder Linux16 -Zeile; 3. Wenn Sie Rd. Break verwenden, müssen Sie zuerst Chroot/Sysroot, dann montieren, oremount, rw/; 4. Führen Sie Passwdroot aus, um ein neues Passwort festzulegen. 5. Wenn Selinux aktiviert ist, run Touch/.AutorElabel; 6. Führen Sie den Neustart-F aus, um neu zu starten, um wirksam zu werden. Diese Methode ist für CentOS7 und höher geeignet und erfordert einen physischen oder Konsolenzugriff.

See all articles