Warum installieren Sie von der Quelle? Nginx-Pakete sind für die meisten guten Server-Linux-Distributionen verfügbar. Oder Sie könnten Ihre eigenen Pakete rollen, aber wenn Sie keine Pakete verwenden, ist dies ein Problem für die Wartbarkeit.
Tom O'Connor
wegen mod_rails
larry
Antworten:
149
Das nginx-Paket enthält ein Skript /etc/init.d/nginx, das die übliche Funktion zum Starten | Stoppen | Neustarten | Neuladen ... bietet.
/etc/init.d/nginx restart
startet nginx neu
wie es sein wird
service nginx restart
Bearbeiten
Hier ist ein Link zu einem Skript, das Sie als /etc/init.d/nginx verwenden können.
Hängt von Ihrem Repository ab. Die Nginx-Quelle stellt keine Init-Skripte zur Verfügung. Wenn Sie also aktualisiert und aus der Quelle kompiliert werden möchten, müssen Sie eines aus dem Wiki herunterladen.
Martin Fjordvald
1
Ich muss mehr Kaffee
trinken,
Auf was verweist Service Nginx Restart und ist es angebracht, etwas neu zu laden, wenn eine Änderung an init.d / Nginx vorgenommen wird? Meine beiden Befehle (/etc/init.d/nginx und service nginx) scheinen nicht synchron zu sein.
Danny
@Danny: Keine Ahnung, ich habe das> vor 2 Jahren geschrieben.
Diese Frage und die meisten Antworten sind acht Jahre alt und veraltet. Das ist "irgendein Grund". Dies ist die richtige Vorgehensweise auf aktuellen Linux-Betriebssystemen.
Michael Hampton
Okay, vielleicht gilt das dann nicht nur für eingebettete Systeme
Kardamom
1
Nachdem ich die Konfigurationsdateien bearbeitet habe, starte ich sie unter OpenBSD folgendermaßen neu:
kill -HUP `cat /var/run/nginx.pid` && date && sleep 1 && \
tail -2 /var/www/logs/error.log ; date
Das HUPSignal veranlasst es, seine Konfigurationsdateien erneut zu lesen, tailzeigt an, ob Fehler aufgetreten sind, datestellt diese Fehler in den Kontext (ein Fehler ist nur aufgetreten, wenn die Uhrzeit von datemit der Uhrzeit aus dem Protokoll übereinstimmt) und sleep 1stellt sicher, dass sie vorliegen Keine Wettkampfbedingungen zwischen dem Lesen aus dem Protokoll, bevor Nginx Zeit hatte, darauf zu schreiben.
So sieht es aus:
Cns# kill -HUP `cat /var/run/nginx.pid` && date && sleep 1 && tail -2 /var/www/logs/error.log ; date
Tue Feb 12 10:58:52 PST 2013
2013/02/12 10:03:35 [emerg] 8120#0: directive "set" is not terminated by ";" in /etc/nginx/conf.d/etc.ngx.grok/bxr.su.conf:226
2013/02/12 10:04:19 [emerg] 8120#0: invalid return code "$uri_def" in /etc/nginx/conf.d/etc.ngx.grok/bxr.su.conf:231
Tue Feb 12 10:58:53 PST 2013
Cns#
Die Tatsache, dass die Zeit aus dem Protokoll nicht zwischen den von gedruckten Zeiten liegt, datezeigt an, dass diesmal keine Fehler aufgetreten sind, und die neue Konfiguration ist eine gute.
Antworten:
Das nginx-Paket enthält ein Skript /etc/init.d/nginx, das die übliche Funktion zum Starten | Stoppen | Neustarten | Neuladen ... bietet.
/etc/init.d/nginx restart
startet nginx neu
wie es sein wird
service nginx restart
Bearbeiten
Hier ist ein Link zu einem Skript, das Sie als /etc/init.d/nginx verwenden können.
quelle
http://wiki.nginx.org/CommandLine
In den Links befinden sich Befehle zum Starten und Stoppen des Nginx-Servers
zum starten von nginx:
zum Stoppen von Nginx:
/usr/bin
hängt davon ab, wo du dein nginx installierstquelle
Aus irgendeinem Grund arbeite ich auf dem eingebetteten System daran:
quelle
Nachdem ich die Konfigurationsdateien bearbeitet habe, starte ich sie unter OpenBSD folgendermaßen neu:
Das
HUP
Signal veranlasst es, seine Konfigurationsdateien erneut zu lesen,tail
zeigt an, ob Fehler aufgetreten sind,date
stellt diese Fehler in den Kontext (ein Fehler ist nur aufgetreten, wenn die Uhrzeit vondate
mit der Uhrzeit aus dem Protokoll übereinstimmt) undsleep 1
stellt sicher, dass sie vorliegen Keine Wettkampfbedingungen zwischen dem Lesen aus dem Protokoll, bevor Nginx Zeit hatte, darauf zu schreiben.So sieht es aus:
Die Tatsache, dass die Zeit aus dem Protokoll nicht zwischen den von gedruckten Zeiten liegt,
date
zeigt an, dass diesmal keine Fehler aufgetreten sind, und die neue Konfiguration ist eine gute.quelle
Sie finden Init-Skripte im NginX-Wiki: http://wiki.nginx.org/Configuration#Init_Scripts
Die Neustartfunktion führt den folgenden Befehl aus:
Wenn Sie Nginx in / opt / nginx installiert haben, ersetzen Sie es
BASEDIR=
durchBASEDIR=/opt/nginx
.quelle
Normalerweise installieren Pakete, die aus dem Quellcode installiert wurden, kein Startskript unter
/etc/init.d/
. Sie haben zwei Möglichkeiten.1- Sie können nach einem Skript im Quellcodeverzeichnis oder auf der Website suchen und es bei Bedarf anpassen.
2- Sie können ein Startskript für ein anderes Paket von Ihrem System kopieren und anpassen.
quelle