Ich kann meine Mojo-App über systemd
ohne Probleme starten, aber ich kann sie nicht auf die gleiche Weise stoppen oder neu starten. Ich habe meine Konfiguration hauptsächlich aus den Mojo-Dokumenten in Ссылка entfernt:
Wenn ich es über sudo service ldsquiz-org stop
stoppe, sagt syslog Jan 13 16:37:48 web-hosting systemd[1]: Stopped ldsquiz.org.
, aber die Prozesse laufen noch.
A restart
via systemd
sieht so aus, als würde ich das erwarten, da der listen-Socket wegen des fehlgeschlagenen Shutdowns immer noch benutzt wird:
Was fehlt mir hier?
Anscheinend gibt es einen Fehler im Mojolicious Cookbook w.r.t. prekorking und systemd units.
Und um den Pre-Forking-Webserver mit Systemd zu verwalten, können Sie a Unit-Konfigurationsdatei wie folgt.
%Vor%
Die Einstellung KillMode=process
stellt sich als falsch heraus und muss durch KillMode=control-group
ersetzt werden - was die Standardeinstellung ist, so dass wir sie ganz löschen können.
Die KillMode-Dokumentation sagt:
Wenn auf
control-group
festgelegt, alle verbleibenden Prozesse in der Kontrollgruppe von dieser Einheit wird am Einheitenstopp getötet (für Dienste: nach dem Stopp Befehl wird ausgeführt, wie mit ExecStop = konfiguriert). Wenn festgelegt aufprocess
, nur der Hauptprozess selbst wird beendet.
(Betonung meiner)
Also:
%Vor% Beachten Sie, dass das KillMode=control-group
weggelassen werden kann, da diese Einstellung die Standardeinstellung ist.
Referenzen:
Tags und Links perl systemd mojolicious