nginx.service
Wo soll ich die systemd-Datei beispielsweise für Nginx oder etwas Ähnliches unter Ubuntu 16.04 ablegen ?
Antwort1
Der empfohlene Ort ist/etc/systemd/system/nginx.service
Geben Sie dann den folgenden Befehl ein:
systemctl enable nginx
Und schlussendlich
systemctl start nginx
Antwort2
Normalerweise werden in Ubuntu die vom Paket bereitgestellten Unit-Dateien in /lib/systemd/system/
das Verzeichnis eg gespeichert /lib/systemd/system/nginx.service
, während die vom Benutzer bereitgestellten Unit-Dateien oder alle Änderungen an den vom Paket bereitgestellten Unit-Dateien in das /etc/systemd/system/
Verzeichnis gespeichert werden.
Zum Überschreiben haben Sie nun folgende Möglichkeiten:
Benennen Sie die Unit-Datei wie die vom Paket bereitgestellte, z. B. um sie zu überschreiben.
/lib/systemd/system/nginx.service
Sie können die Datei erstellen/etc/systemd/system/nginx.service
und die Anweisungen dort einfügen.Oder Sie können ein Drop-In-Snippet erstellen, das
.conf
in einem Verzeichnis endet, das nach der ursprünglichen Unit-Datei benannt ist, wobei.d
an den Verzeichnisnamen angehängt wird. Sie können beispielsweise eine Datei mit dem Namen erstellen/etc/systemd/system/nginx.service.d/override.conf
und dort Anweisungen einfügen.
Jetzt können Sie den Befehl nutzen, systemctl edit
um alle manuellen Aufgaben für Sie zu erledigen. Das heißt, er erstellt die erforderliche Override-Datei für Sie (zuerst erstellt er eine temporäre Datei (mit Zwischenverzeichnissen für Drop-In-Snippets) und beim Speichern wird rename()
die temporäre Datei in die gewünschte endgültige Datei konvertiert. Sie müssen die Datei dann nur noch bearbeiten, um Ihre Overrides einzufügen.
So erstellen Sie beispielsweise ein Override-Snippet für das oben erwähnte ngnx.service
( ):/lib/systemd/system/nginx.service
systemctl edit nginx.service
Standardmäßig wird die Datei verwendet /etc/systemd/system/nginx.service.d/override.conf
. Wenn --full
verwendet wird, wird die vollständige Ersatzdatei /etc/systemd/system/nginx.service
verwendet (der Originalinhalt /lib/systemd/system/nginx.service
wird in diese Datei kopiert).
Sie können auch --runtime
zum Erstellen des Snippets verwenden /run/systemd/system/
(zuerst das Drop-In-Snippet, dann das Ganze, sodass --runtime
sich --full
beide nicht gegenseitig ausschließen), das natürlich nur vorübergehend ist.
Sie können natürlich den zu verwendenden Editor auswählen. Die Rangfolge ist:
$SYSTEMD_EDITOR > $EDITOR > $VISUAL > editor > nano > vim > vi