Heim >Betrieb und Instandhaltung >Betrieb und Wartung von Linux >Bedienungs-Tutorial für ein reibungsloses Upgrade von Nginx

Bedienungs-Tutorial für ein reibungsloses Upgrade von Nginx

巴扎黑
巴扎黑Original
2017-07-19 11:13:291666Durchsuche

Überblick über reibungslose Upgrades
Nginx hilft uns bequem dabei, ein reibungsloses Upgrade zu erreichen. Das Prinzip lässt sich einfach wie folgt zusammenfassen:
(1) Starten Sie einen neuen Prozess, ohne den alten Prozess zu stoppen.
(2) Der alte Prozess ist für die Bearbeitung noch unbearbeiteter Anfragen zuständig, nimmt aber keine Bearbeitungsanfragen mehr entgegen.
(3) Der neue Prozess akzeptiert neue Anfragen.
(4) Der alte Prozess stoppt, nachdem alle Anfragen verarbeitet und alle Verbindungen geschlossen wurden.
Dadurch lassen sich problemlos reibungslose Upgrades durchführen. Im Allgemeinen gibt es zwei Situationen, in denen Sie Nginx aktualisieren müssen: Die eine besteht darin, die Version von Nginx wirklich zu aktualisieren, und die andere darin, ein neues Modul zu Nginx hinzuzufügen.

Upgrade-Prozess
Der spezifische Vorgang ist ebenfalls sehr einfach, wie folgt:

(0) Aktuelle Version anzeigen
Geben Sie das Verzeichnis ein, in dem sich die ausführbare Nginx-Datei befindet wird gespeichert:

Kopieren Sie den Code wie folgt:

./nginx -V


(1) Laden Sie das neue herunter Nginx-Version und Kompilierung.

Kopieren Sie den Code wie folgt:

wget nginx-1.0.11.tar.gz
tar zxvf nginx-1.0.11.tar.gz
cd nginx - 1.0.11
./configure --add-module=/customized_module_0 --add-module=/customized_module_1
make


Achten Sie darauf, nichts zu machen installieren


Download:

[root@liuawblizfpws~]#wget *.*.tar.gz (Versionsnummer wurde geändert)

Entpacken:

[root@liuawblizfpws ~]#tar zxvf nginx-0.*.*.tar.gz (Versionsnummer wurde geändert)

Übrigens wird hier die Versionsnummer von Nginx geändert, was eine gewisse Sicherheitsrolle spielt.

Ändern Sie die Quellcodedatei:

[root@liuawblizfpws ~]#vim nginx-0.*.*/src/core/nginx.h
#define NGINX_VERSION "*.$.&" (Versionsnummer)
#define NGINX_VER "net/" NGINX_VERSION (Servername)
Sie müssen die vorherigen Nginx-Installationsinformationen überprüfen vor dem Neukompilieren:
[root@liuawblizfpws ~]#/usr/local/nginx/sbin/nginx -V
Informationen abrufen (der Pfad variiert von Person zu Person):
nginx: Argumente konfigurieren: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
Kompilieren, aber nicht installieren; das Kompilierungsverzeichnis Die Nginx-Datei im objs-Verzeichnis ist die neue ausführbare Datei:
[root@liuawblizfpws nginx-0.*.*]#./configure --user=www --group= www -- prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
[root@liuawblizfpws nginx-0.*.*]#make
Sichern Sie die ursprüngliche Nginx-Datei:
[root@liuawblizfpws ~]#mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
wird wurden kompiliert Kopieren Sie die Nginx-Datei in den entsprechenden Ausführungspfad:
cp ~/nginx-0.*.*/objs/nginx /usr/local/nginx/sbin/nginx
Test um Fehler zu vermeiden Reibungsloses Upgrade:
[root@liuawblizfpws ~]#/usr/local/nginx/sbin/nginx -t
nginx: die Konfigurationsdatei /usr/local/ Die Syntax von nginx/conf /nginx.conf ist in Ordnung
nginx: Konfigurationsdatei /usr/local/nginx/conf/nginx.conf-Test ist erfolgreich
Wenn der Test erfolgreich ist, ändern Sie ihn nginx.pid zu Ihrer nginx.pid.oldbin, während Sie ein neues Nginx starten:
[root@liuawblizfpws ~]#kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
Ursprüngliches Nginx beenden:
[root@liuawblizfpws ~]#kill -QUIT `cat /usr/loca/nginx/logs/nginx.pid.oldbin`
Überprüfen:
[root@liuawblizfpws ~]#curl -I netonline.me
HTTP/1.1 200 OK
Server: net/*.$.&
Datum: Do, 09. Dezember 2010 05:13:36 GMT

Das obige ist der detaillierte Inhalt vonBedienungs-Tutorial für ein reibungsloses Upgrade von Nginx. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn