Ich habe gerade nginx 1.9 auf einem Debian 8-Server installiert. nginx funktioniert einwandfrei, wenn ich es zum Laufen bringe, aber es scheint nginx beim Booten nicht automatisch zu laden.
Ich habe zahlreiche im Internet empfohlene Init-Skripte ausprobiert, aber es hat noch nichts funktioniert. Jetzt versuche ich es mit systemctl herauszufinden.
~$ systemctl status nginx
● nginx.service
Loaded: masked (/dev/null)
Active: inactive (dead)
~$ sudo systemctl try-restart nginx
Failed to try-restart nginx.service: Unit nginx.service is masked.
~$ sudo systemctl reload nginx
Failed to reload nginx.service: Unit nginx.service is masked.
~$ sudo systemctl reload nginx
Failed to reload nginx.service: Unit nginx.service is masked.
Leider weiß ich nicht, was "Service ist maskiert" bedeutet, und ich weiß nicht, warum es maskiert ist.
wenn ich renne
sudo nginx
Der Server läuft einwandfrei. Also habe ich mir vorgenommen, den Nginx-Dienst zu entlarven.
~$ sudo systemctl unmask nginx.service
Removed symlink /etc/systemd/system/nginx.service.
ok cool, jetzt kann ich nginx mit systemctl starten. Also habe ich geprüft, ob beim Neustart Nginx automatisch geladen wird. Aber es gelingt mir nicht und ich habe keine Ahnung, wohin ich von hier aus gehen soll.
Kann mir jemand helfen, Nginx beim Booten automatisch zum Laufen zu bringen?
systemctl enable nginx
...Antworten:
Sie scheinen Vorgänge zu aktivieren, zu starten und zu maskieren.
systemctl start
,systemctl stop
: startet (stoppt) das betreffende Gerät sofort ;systemctl enable
,systemctl disable
: markiert (unmarkiert) das Gerät für den Autostart beim Booten (auf eine gerätespezifische Art und Weise, wie in seinem[Install]
Abschnitt beschrieben);systemctl mask
,systemctl unmask
: Alle Versuche, die betreffende Einheit manuell oder in Abhängigkeit von einer anderen Einheit, einschließlich der Abhängigkeiten des Standardstartziels, zu starten, sind nicht zulässig. Beachten Sie, dass das Markieren für Autostart in systemd durch Hinzufügen einer künstlichen Abhängigkeit vom Standardstartziel zum betreffenden Gerät implementiert wird, sodass "mask" auch Autostart nicht zulässt.Das sind also alles unterschiedliche Operationen. Von diesen wollen Sie
systemctl enable
.Ref .: systemctl (1) .
Mehr: Lennart Pöttering (02.03.2011). "Die drei Ebenen von Off" . systemd für Administratoren . 0pointer.de.
quelle
systemctl enable
(nichtsystemctl start
) etwas beim Booten starten lassen.Der Link in der akzeptierten Antwort wurde korrigiert, sodass er zur rechten Seite weiterleitet. Aber hier ist ein relevanter Punkt:
wo
/lib/systemd/system/nginx.service
sieht so etwas aus:quelle
Hier ist, was für mich funktioniert hat: https://web.archive.org/web/20150328063215/https://longhandpixels.net/blog/2014/02/install-nginx-debian-ubuntu
Ich habe den größten Teil des Dokuments, das speziell für das Kompilieren anderer Versionen von nginx bestimmt war, ignoriert und bin zu "Make it Autostart" übergegangen.
Ich habe die Anweisungen dort befolgt und jetzt, wenn ich neu starte, wird Nginx 1.9 ausgeführt.
Ich schätze auf jeden Fall die Hilfe und die Einsicht aller. Danke euch allen!
quelle
von nginx resources https://www.nginx.com/resources/wiki/start/topics/examples/systemd/
quelle