Heim Betrieb und Instandhaltung Nginx Nginx fügt Module von Drittanbietern hinzu

Nginx fügt Module von Drittanbietern hinzu

Oct 26, 2020 pm 04:23 PM
nginx

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
Nach dem Login kopieren

Download-Adresse:

wget https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/get/master.tar.gz
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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;
     }
Nach dem Login kopieren

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泄漏,没用过
Nach dem Login kopieren

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 werdenNginx fügt Module von Drittanbietern hinzu

Wenn Sie mehrere Module von Drittanbietern hinzufügen möchten, verwenden Sie mehrere --add-module-Anweisungen:

./configure --prefix=/usr/local/nginx --add-module=/usr/local/nginx-sticky-module/ --add-module=/usr/local/nginx-http-concat-1.2.2/
Nach dem Login kopieren

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!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So konfigurieren Sie den Namen des Cloud -Server -Domänennamens in Nginx So konfigurieren Sie den Namen des Cloud -Server -Domänennamens in Nginx Apr 14, 2025 pm 12:18 PM

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.

So überprüfen Sie den Namen des Docker -Containers So überprüfen Sie den Namen des Docker -Containers Apr 15, 2025 pm 12:21 PM

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 überprüfen Sie, ob Nginx gestartet wird So überprüfen Sie, ob Nginx gestartet wird Apr 14, 2025 pm 01:03 PM

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.

So konfigurieren Sie Nginx in Windows So konfigurieren Sie Nginx in Windows Apr 14, 2025 pm 12:57 PM

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.

So überprüfen Sie die Nginx -Version So überprüfen Sie die Nginx -Version Apr 14, 2025 am 11:57 AM

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.

So starten Sie einen Container von Docker So starten Sie einen Container von Docker Apr 15, 2025 pm 12:27 PM

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.

So starten Sie den Nginx -Server So starten Sie den Nginx -Server Apr 14, 2025 pm 12:27 PM

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

So erstellen Sie Container für Docker So erstellen Sie Container für Docker Apr 15, 2025 pm 12:18 PM

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]

See all articles