Implementierung der Nginx-Lastverteilung/SSL-Konfiguration

Implementierung der Nginx-Lastverteilung/SSL-Konfiguration

Was ist Lastenausgleich?

Wenn ein Domänenname auf mehrere Webserver verweist, fügen Sie einen Nginx-Lastausgleichsserver hinzu. Durch den Nginx-Lastausgleich können Clientanforderungen gleichmäßig an die einzelnen Webserver gesendet werden. So wird vermieden, dass ein einzelner Server überlastet wird, während die anderen Server relativ ungenutzt sind.

Konfigurieren Sie den Nginx-Lastausgleich:

Erstellen Sie eine neue Konfigurationsdatei auf der Nginx-Maschine:

[root@centos02 ~]# vi /etc/nginx/conf.d/test.conf

Fügen Sie den folgenden Inhalt hinzu:

Upstream-Test
 {
  ip_hash; 
  Server 192.168.0.10:80 Gewicht=100; 
  Server 192.168.0.20:80 Gewicht=50;
 }
 Server
 {
  hören Sie 80;
  Servername www.test.com;
  Standort /
  {
   Proxy-Passwort http://test;
   Proxy_Set_Header Host $host;
   Proxy_Set_Header X-Real-IP $Remote_Addr;
   proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for;
  }
 }
  • Upstream: Lastenausgleichskonfiguration
  • Test: benutzerdefinierter Name, der für die Proxy-Pass-Referenz im Server{} verwendet wird
  • ip_hash: Alle Anfragen vom selben Client an denselben Server senden (andernfalls kann es sein, dass sich der Client einfach bei der Website anmeldet, dann auf eine andere Unterseite klickt und aufgefordert wird, sich erneut anzumelden)
  • Server: Webserveradresse
  • Gewicht: Definiert das Gewicht (Bereich 0-100). Der Lastausgleichsserver gibt dem Senden von Anfragen mit einem höheren Gewicht Priorität an den Webserver (im obigen Beispiel werden bei 150 eingehenden Anfragen 100 an 192.168.0.10 und 50 an 192.168.0.20 zugewiesen).
  • server_name: Der Domänenname der aufgerufenen Website
  • proxy_pass: bezieht sich auf den upstream definierten Namen

Überprüfen Sie die Nginx-Konfiguration und laden Sie sie neu:

[root@centos02 ~]# nginx -t
nginx: die Syntax der Konfigurationsdatei /etc/nginx/nginx.conf ist in Ordnung
nginx: Test der Konfigurationsdatei /etc/nginx/nginx.conf ist erfolgreich
[root@centos02 ~]# nginx -s neu laden

Ändern Sie als Nächstes die Hosts-Datei des Clients, um den Testdomänennamen www.test.com auf die IP der getesteten Nginx-Lastausgleichsmaschine zu verweisen, um auf die Website www.test.com zuzugreifen.

Ergänzung zum Beispiel einer Lastenausgleichskonfiguration

1. Entsprechend der gewünschten Dateikonfiguration:

upstream aa {   
    Server 192.168.0.10;
    Server 192.168.0.20; 
  }
Upstream bb { 
    Server 192.168.0.100;
    Server 192.168.0.101;
 }
 Server {
  hören Sie 80;
  Servername www.test.com;
  Standort ~ aa.php
  {
   Proxy-Passwort http://aa/;
   Proxy_Set_Header Host $host;
   Proxy_Set_Header X-Real-IP $Remote_Addr;
   proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for;
  }
  Standort ~ bb.php
  {
    Proxy-Passwort http://bb/;
    Proxy_Set_Header Host $host;
    Proxy_Set_Header X-Real-IP $Remote_Addr;
    proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for;
  }
  Standort /
  {
    Proxy-Passwort http://bb/;
    Proxy_Set_Header Host $host;
    Proxy_Set_Header X-Real-IP $Remote_Addr;
    proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for;
  }
}

Anfragen an aa.php gehen an die Gruppe aa, Anfragen an bb.php gehen an die Gruppe bb und alle anderen Anfragen gehen an die Gruppe bb. Sie müssen location / {} haben, sonst kann die URL nicht richtig zugeordnet werden.

2. Konfigurieren Sie entsprechend dem gewünschten Verzeichnis:

upstream aa {   
    Server 192.168.0.10;
    Server 192.168.0.20; 
  }
Upstream bb { 
    Server 192.168.0.100;
    Server 192.168.0.101;
 }
 Server {
  hören Sie 80;
  Servername www.test.com;
  Standort /dir1/
  {
   Proxy-Passwort http://aa/dir1/;
   Proxy_Set_Header Host $host;
   Proxy_Set_Header X-Real-IP $Remote_Addr;
   proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for;
  }
  Standort /dir2/
  {
    Proxy-Passwort http://bb/dir2/;
    Proxy_Set_Header Host $host;
    Proxy_Set_Header X-Real-IP $Remote_Addr;
    proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for;
  }
  Standort /
  {
    Proxy-Passwort http://bb/;
    Proxy_Set_Header Host $host;
    Proxy_Set_Header X-Real-IP $Remote_Addr;
    proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for;
  }
}

#Wenn die Anforderungs-URI mit /dir1/ übereinstimmt, leiten Sie den Proxy an aa/dir1/ weiter, wenn sie mit /dir2/ oder anderen übereinstimmt, leiten Sie den Proxy an bb/dir2/ weiter.

Nginx konfiguriert das SSL-Zertifikat für den Zugriff auf die Website über das https-Protokoll:

Website zur Beantragung eines SSL-Zertifikats:

1. https://www.wosign.com/
2. https://freessl.cn/ (kostenlos)

#Nach der Generierung über den Browser müssen Sie eine Zertifikatsdatei auf dem Server erstellen

Erstellen Sie die Zertifikatsdateien:

[root@linux ~]# mkdir /etc/nginx/ssl
[root@linux ~]# cd !$
cd /etc/nginx/ssl
[root@linux ssl]# touch ca
[root@linux ssl]# touch test.crt
[root@linux ssl]# touch test.key

#Fügen Sie den Inhalt des entsprechenden Zertifikats, das von der Website zur Zertifikatsanwendung bereitgestellt wird, zur Datei ca / ​​.crt / .key hinzu

Bearbeiten Sie die Nginx-Konfigurationsdatei:

[root@linux ~]# vi /etc/nginx/conf.d/bbs.conf

Fügen Sie den folgenden Inhalt hinzu:

hören Sie 443 SSL;
Servername test.bbs.com;
SSL aktiviert;
ssl_certificate /etc/nginx/ssl/test.crt; #definieren Sie den Pfad der CRT-Datei ssl_certificate_key /etc/nginx/ssl/test.key; #definieren Sie den Pfad der Key-Datei ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

Überprüfen Sie die Konfiguration und laden Sie nginx neu:

[root@linux ~]# nginx -t
nginx: die Syntax der Konfigurationsdatei /etc/nginx/nginx.conf ist in Ordnung
nginx: Test der Konfigurationsdatei /etc/nginx/nginx.conf ist erfolgreich
[root@linux ~]# nginx -s neu laden

#Besuchen Sie als Nächstes die Adressleiste der Website, um HTTPS anzuzeigen

Methode zur Curl-Verifizierung:

curl -k -H "host:test.bbs.com" https://192.168.234.128/index.php

#host: Domänenname, https:// Webserver-IP, das Ausgabeergebnis sind die Tag-Informationen der Website-Seite, was Erfolg bedeutet

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Konfiguration des SSL-Zertifikats für den Nginx-Domänennamen (Website-HTTP auf https aktualisiert)
  • Schritte zum Konfigurieren von Nginx SSL zur Implementierung des HTTPS-Zugriffs (für Anfänger geeignet)
  • So konfigurieren Sie Nginx mit einem SSL-Zertifikat zum Bereitstellen einer HTTPS-Website (Ausstellen des Zertifikats)
  • Einführung in die Installations- und Bereitstellungsschritte für SSL-Zertifikate unter Nginx

<<:  Der Unterschied zwischen gespeicherten Prozeduren und Transaktionen in MySQL-Datenbanken

>>:  Zusammenfassung des Verständnisses des virtuellen DOM in Vue

Artikel empfehlen

Eine kurze Analyse des Reaktionsprinzips und der Unterschiede von Vue2.0/3.0

Vorwort Seit der offiziellen Einführung von vue3....

Detaillierte Erklärung zum virtuellen Javascript-DOM

Inhaltsverzeichnis Was ist virtueller Dom? Warum ...

Prozessdiagramm zur Implementierung der Zabbix WEB-Überwachung

Nehmen Sie als Beispiel die WEB-Schnittstelle von...

Beispielcode zur Implementierung der Alipay-Sandbox-Zahlung mit Vue+SpringBoot

Laden Sie zunächst eine Reihe von Dingen aus der ...

Einige Hinweise zu MySQL-Routineberechtigungen

1. Wenn der Benutzer über die Berechtigung zum Er...

Detaillierte Erklärung zur Verwendung von Vue zum Laden von Wetterkomponenten

In diesem Artikel erfahren Sie, wie Sie mit Vue W...

Optimierung der Frontend-Leistung von Websites: JavaScript und CSS

Ich habe einen Artikel des Yahoo-Teams über die O...

Grafische Installationsschritte für VMware vSphere 6.7 (ESXI 6.7)

Umgebung: VMware VCSA 6.7 (VMware-VCSA-all-6.7.0-...

Verwendung von Linux-Netzwerkkonfigurationstools

Dieser Artikel stellt RHEL8-Netzwerkdienste und N...

Kurze Analyse von CentOS 7 mysql-8.0.19-1.el7.x86_64.rpm-bundle.tar

Baidu Cloud-Festplatte: Link: https://pan.baidu.c...

Vue3 (III) Website Homepage Layout Entwicklung

Inhaltsverzeichnis 1. Einleitung 2. Tatsächliche ...

Vue implementiert eine kleine Notizblockfunktion

In diesem Artikelbeispiel wird der spezifische Co...