So erstellen Sie eine Systemd -Dienstdatei
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.
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.

✅ 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.

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:

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!

Heiße KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

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

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

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

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

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

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

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.

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.

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

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.
