nginx - kein Autostart beim booten - Plesk Ubuntu 18.04

Mutti

Member
Hallo,

leider startet mein nginx nicht beim booten direkt mit.

In Webmin ist er eingestellt "Starte beim Booten"

Diverse Anleitungen wie die u.s habe ich auch ausprobiert. Leider ohne positives Ergebnis

Code:
# sudo update-rc.d nginx defaults

Danke voraus.
 
"Es geht nicht" ist sicherlich nicht die Fehlermeldung oder der Logeintrag bzgl. des Problems.

-> Logeinträge, Konfig, ... - und bitte Fakten, keine Prosa.
 
Vermutlich startet der NGINX, bevor deine IPv6-Adresse oben ist, wodurch er diese eben nicht assignen kann. Das Problem lösen wir bei unseren managed Servern wie folgt:

systemctl edit nginx.service --full

unter "[Service]" folgendes einfügen:

ExecStartPre=/bin/sleep 5

Es gibt auch irgendein Howto von Plesk dazu, welches aber für uns keine brauchbare Lösung lieferte. Bitte unbedingt ein händisches Rumfummeln an den Unit-Files vermeiden, das zerlegt sich beim nächsten Update. Der Weg über systemctl edit ist der Richtige und aktiviert sich auch ohne systemd händisch zu reloaden.
 
Wäre es nicht sinnvoller, den sleep ins network/interface-Initscript zu packen?
Am Sinnvollsten wäre allerdings ein Bugreport an Debian/Ubuntu...
 
Eine Zeit einzubauen ist keine besonders gute Lösung für das Problem.

Ursache des Problems ist Duplicate Address Detection.
In dem Bugreport wird vorgeschlagen DAD zu deaktivieren, wodurch das Interface sofort verfügbar ist.
Bei einem Server sollte das kein Problem sein, wenn du das deaktivierst.

Hier die manpages zu interfaces

dad-attempts 0 in der /etc/network/interfaces zur statischen IPv6 hinzufügen.
Dann müsste die IPv6 sofort verfügbar sein und wird nicht als "tentative" gekennzeichnet werden.

Einen anderen Lösungsansatz wäre es systemd-networkd fürs Netzwerk zu verwenden und auf IPv6 zu warten.
Könnte aber etwas anspruchsvoller sein das umzusetzen. Debian nutzt zwar systemd, aber nicht fürs Netzwerk.
Dafür ist immer noch ifupdown verantwortlich. Mensch bin ich froh, wenn der alte Scheiß endlich entfernt wird.

Ich denke mal, dass DAD deaktivieren die sauberste Lösung ist.
In nicht gemanagten Netzwerken würde ich es aber einsetzen, sofern IPv6 überhaupt verwendet wird.
 
Wäre es nicht sinnvoller, den sleep ins network/interface-Initscript zu packen?
Eventuell stehe ich auf dem Schlauch, aber inwiefern sollte das das Problem lösen? Dann dauert's ja noch länger?

Edit: Ach, du meinst vermutlich _nach_ dem Starten des Netzwerks, damit sich dieses nicht frühzeitig als gestartet meldet. Ja, das wäre eine wesentlich bessere Lösung, werde ich mal testen :)

Ursache des Problems ist Duplicate Address Detection. In dem Bugreport wird vorgeschlagen DAD zu deaktivieren, wodurch das Interface sofort verfügbar ist.
Danke, sehr interessant. Sollte ich in nächster Zeit mal wieder eigenhändig einen managed Server aufsetzen, würde ich das gern mal ausprobieren. Leider sind wir auch ein wenig abhängig von unserem vServer-Controlpanel, welches die Interfaces so konfiguriert wie es das für richtig hält (und auch bis heute kein Netplan unterstützt...). Daher hatten wir uns auf eine pragmatische Lösung beschränkt und auch nicht weiter gesucht, da die jetzige Lösung (so unschön sie auch ist, keine Frage) wunderbar funktioniert. Vermutlich würde sogar ein Sleep von einer Sekunde reichen, aber ich glaube, auf die vier Sekunden kommt's am Ende nicht an. :)

Mensch bin ich froh, wenn der alte Scheiß endlich entfernt wird.
+1

Tim hat schon Recht.. Wenngleich man zunächst probieren sollte ob es nicht mit der von Plesk zuerst vorgeschlagenen Lösung klappt..
Danke, das hatte ich gestern gesucht und nicht mehr gefunden. Funktionierte bei uns leider nicht, denn die Quintessenz für Debian und Ubuntu lautet hier ja summa summarum:
[...] Should be installed by default.
Und dem ist auch so, aber das Problem existiert weiterhin. Und jegliches manuelle Fummeln an Dateien von systemd gilt es meines Erachtens zu vermeiden, weshalb wir das Unitfile auf "offiziellem" Wege bearbeiten.
 
Edit: Ach, du meinst vermutlich _nach_ dem Starten des Netzwerks, damit sich dieses nicht frühzeitig als gestartet meldet. Ja, das wäre eine wesentlich bessere Lösung, werde ich mal testen :)
Jepp, sollten andere Dienste auch dieses Problem haben/bekommen, dann wäre das Problem bereits mitgelöst.

Das Network/Interfaces-Initscript sollte die Interfaces grundsätzlich erst dann als "up" melden, wenn diese auch wirklich vollständig "up" sind und das sind sie erst, wenn auch die IPs gebunden sind.
Andere Distros und OS bekommen das AFAIK ja auch hin, nur Debian/Ubuntu nicht...
 
Back
Top