Nginx fügt Module von Drittanbietern hinzu
Zweck:
Fügen Sie ein von einem Dritten geschriebenes Plug-in hinzu, am Beispiel des Nginx-Sticky-Moduls, im Folgenden als Sticky bezeichnet.
Anzeigen der installierten Nginx-Module über /usr/local/nginx/sbin/ nginx -V
(Empfohlenes Tutorial: nginx-Tutorial)
Sticky-Modul und Ip_hash beziehen sich beide auf Lastausgleichsalgorithmen, es gibt jedoch Unterschiede:
1 auf der IP des Clients
2, sticky, entsprechend dem Cookie, das der Server dem Client gegeben hat, bringt der Client dieses Cookie, wenn er erneut anfordert, und Nginx leitet die Anfrage mit diesem Cookie an den Server weiter, der das Cookie ausgegeben hat
Hinweis: In einem LAN gibt es 3. Jeder Computer hat drei interne IPs, aber wenn er eine Anfrage initiiert, hat er nur eine externe IP, die vom Telekommunikationsbetreiber dem Router zugewiesen wird, mit dem er sich verbindet, wenn die ip_hash-Methode verwendet wird Wenn der Upstream-Server das Sticky-Modul verwendet, weist Nginx die Anfrage dem Cookie-basierten Server zu, um ein Gleichgewicht der Intranet-NAT-Benutzer zu erreichen. Dies ist etwas, was iphash nicht kann.
Sticky-Arbeitsprinzip:
Sticky ist eine auf Cookies basierende Lastausgleichslösung. Durch die Verteilung und Identifizierung von Cookies gelangen Anfragen vom selben Client auf denselben Server 1. Der Client initiiert zum ersten Mal eine Zugriffsanforderung. Nachdem Nginx diese erhalten hat, stellt er fest, dass sich im Anforderungsheader kein Cookie befindet, und verteilt die Anforderung dann per Abfrage an den Back-End-Server.
2. Nachdem der Backend-Server die Anfrage verarbeitet hat, gibt er die Antwortdaten an nginx zurück.
3. Zu diesem Zeitpunkt generiert Nginx ein Cookie mit Route und gibt es an den Client zurück. Der Wert der Route entspricht dem Back-End-Server, bei dem es sich um Klartext oder Hash-Werte wie md5, sha1 usw. handeln kann.
4 Der Client empfängt die Anfrage und speichert das Cookie mit der Route.
5. Wenn der Client das nächste Mal eine Anfrage sendet, übermittelt er die Route und Nginx leitet sie basierend auf dem Routenwert im empfangenen Cookie an den entsprechenden Back-End-Server weiter.
Offizielle Website-Adresse von Sticky
Offizielle Adresse:
https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/src
Download-Adresse:
wget https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/get/master.tar.gz
Nginx-Installation des Sticky-Moduls
#1.下载的文件上传,解压 tar -xvzf nginx-goodies-nginx-sticky-module-ng-08a395c66e42.tar #2.重命名为nginx-sticky-module mv nginx-goodies-nginx-sticky-module-ng-08a395c66e42 /usr/local/nginx-sticky-module #3.进入nginx源码目录进行编译 ./configure --prefix=/usr/local/nginx --add-module=/usr/local/nginx-sticky-module --with-http_stub_status_module --with-http_ssl_module #4.安装 1.停止nginx后进行安装:make && make install 2.在线更新安装: make upgrade
Die Installation ist abgeschlossen. Überprüfen Sie die Kompilierungsparameter über ./sbin/nginx -V. Sie können sehen, dass die Sticky-Modul wurde in Nginx kompiliert
[root@bogon nginx]# ./sbin/nginx -V nginx version: nginx/1.16.0 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) built with OpenSSL 1.0.2k-fips 26 Jan 2017 TLS SNI support enabled configure arguments: --prefix=/usr/local/nginx --add-module=/usr/local/nginx-sticky-module --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module
Nginx.conf ändern und Sticky-Funktion aktivieren
upstream zyi { #使用sticky,不设置expires则浏览器关闭时结束会话 sticky domain=zy.csxiuneng.com path=/; server localhost:9001; } server { listen 80; server_name zy.csxiuneng.com; access_log logs/zy.access.log main; location / { proxy_pass http://zyi; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; client_max_body_size 10m; client_body_buffer_size 256k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; }
sticky Syntax:
sticky [name=route] [domain=.foo.bar] [path=/] [expires=1h] [hash=index|md5|sha1] [no_fallback] [secure] [httponly]; [name=route] 设置用来记录会话的cookie名称 [domain=.foo.bar] 设置cookie作用的域名 [path=/] 设置cookie作用的URL路径,默认根目录 [expires=1h] 设置cookie的生存期,默认不设置,浏览器关闭即失效 [hash=index|md5|sha1] 设置cookie中服务器的标识是用明文还是使用md5值,默认使用md5 [no_fallback] 设置该项,当sticky的后端机器挂了以后,nginx返回502 (Bad Gateway or Proxy Error) ,而不转发到其他服务器,不建议设置 [secure] 设置启用安全的cookie,需要HTTPS支持 [httponly] 允许cookie不通过JS泄漏,没用过
Nginx neu starten: ./sbin/nginx -s reload
Besuchen Sie: zy.csxiuneng.com, Sie können Sehen Sie, dass es in den Cookies einen Eintrag gibt Das Cookie wird zunächst vom Server ausgegeben. Wenn der Client Cookies deaktiviert, werden die Cookies nicht wirksam.
3. Der Client bringt möglicherweise keine Cookies mit. Wenn der Android-Client eine Anfrage sendet, muss klar angegeben werden, welche Cookies mitgebracht werden. Wenn Sie Sticky für den Lastausgleich verwenden möchten, fügen Sie bitte Cookies zur Android-Entwicklung hinzu.4. Der Cookie-Name sollte nicht mit dem Namen des vom Unternehmen verwendeten Cookies übereinstimmen. Der Standard-Cookie-Name von Sticky ist „route“ und kann in einen beliebigen Wert geändert werden.
5 Die erste vom Client gesendete Anfrage enthält keine Cookies. Das vom Server ausgegebene Cookie wird erst bei der nächsten Anfrage des Clients wirksam.6.Nginx Sticky-Modul kann nicht gleichzeitig mit ip_hash verwendet werden
./configure --prefix=/usr/local/nginx --add-module=/usr/local/nginx-sticky-module/ --add-module=/usr/local/nginx-http-concat-1.2.2/
Das obige ist der detaillierte Inhalt vonNginx fügt Module von Drittanbietern hinzu. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

So konfigurieren Sie einen Nginx -Domänennamen auf einem Cloud -Server: Erstellen Sie einen Datensatz, der auf die öffentliche IP -Adresse des Cloud -Servers zeigt. Fügen Sie virtuelle Hostblöcke in die NGINX -Konfigurationsdatei hinzu, wobei der Hörport, Domänenname und das Root -Verzeichnis der Website angegeben werden. Starten Sie Nginx neu, um die Änderungen anzuwenden. Greifen Sie auf die Konfiguration des Domänennamens zu. Weitere Hinweise: Installieren Sie das SSL -Zertifikat, um HTTPS zu aktivieren, sicherzustellen, dass die Firewall den Verkehr von Port 80 ermöglicht, und warten Sie, bis die DNS -Auflösung wirksam wird.

Sie können den Namen des Docker -Containers abfragen, indem Sie den Schritten folgen: Alle Container auflisten (Docker PS). Filtern Sie die Containerliste (unter Verwendung des GREP -Befehls). Ruft den Containernamen ab (befindet sich in der Spalte "Namen").

So bestätigen Sie, ob Nginx gestartet wird: 1. Verwenden Sie die Befehlszeile: SystemCTL Status Nginx (Linux/Unix), Netstat -ano | FindStr 80 (Windows); 2. Überprüfen Sie, ob Port 80 geöffnet ist; 3. Überprüfen Sie die Nginx -Startmeldung im Systemprotokoll. 4. Verwenden Sie Tools von Drittanbietern wie Nagios, Zabbix und Icinga.

Wie konfiguriere ich Nginx in Windows? Installieren Sie NGINX und erstellen Sie eine virtuelle Hostkonfiguration. Ändern Sie die Hauptkonfigurationsdatei und geben Sie die Konfiguration der virtuellen Host ein. Starten oder laden Nginx neu. Testen Sie die Konfiguration und sehen Sie sich die Website an. Aktivieren Sie selektiv SSL und konfigurieren Sie SSL -Zertifikate. Stellen Sie die Firewall selektiv fest, damit Port 80 und 443 Verkehr.

Die Methoden, die die Nginx -Version abfragen können, sind: Verwenden Sie den Befehl nginx -v; Zeigen Sie die Versionsrichtlinie in der Datei nginx.conf an. Öffnen Sie die Nginx -Fehlerseite und sehen Sie sich den Seitentitel an.

Startschritte des Docker -Containers: Ziehen Sie das Containerbild: Führen Sie "Docker Pull [Mirror Name]" aus. Erstellen eines Containers: Verwenden Sie "Docker erstellen [Optionen] [Spiegelname] [Befehle und Parameter]". Starten Sie den Container: Führen Sie "Docker Start [Container Name oder ID]" aus. Containerstatus überprüfen: Stellen Sie sicher, dass der Container mit "Docker PS" ausgeführt wird.

Das Starten eines Nginx-Servers erfordert unterschiedliche Schritte gemäß verschiedenen Betriebssystemen: Linux/UNIX-System: Installieren Sie das NGINX-Paket (z. B. mit APT-Get oder Yum). Verwenden Sie SystemCTL, um einen Nginx -Dienst zu starten (z. B. sudo systemctl start nginx). Windows -System: Laden Sie Windows -Binärdateien herunter und installieren Sie sie. Starten Sie Nginx mit der ausführbaren Datei nginx.exe (z. B. nginx.exe -c conf \ nginx.conf). Unabhängig davon, welches Betriebssystem Sie verwenden, können Sie auf die Server -IP zugreifen

Erstellen Sie einen Container in Docker: 1. Ziehen Sie das Bild: Docker Pull [Spiegelname] 2. Erstellen Sie einen Container: Docker Ausführen [Optionen] [Spiegelname] [Befehl] 3. Starten Sie den Container: Docker Start [Containername]
