So verwenden Sie Nginx für den Lastausgleich

WBOY
Freigeben: 2023-06-03 08:19:12
nach vorne
1900 Leute haben es durchsucht

Vierschichtiger Lastausgleich vs. siebenschichtiger Lastausgleich

Es wird oft gesagt, dass der siebenschichtige Lastausgleich oder der vierschichtige Lastausgleich tatsächlich auf der Grundlage des Namens der Schicht des ISO-OSI-Netzwerkmodells entschieden wird. Nginx verwendet das http-Protokoll. Der Lastausgleich wird auf der Anwendungsebene durchgeführt, daher wird er als siebenschichtiger Lastausgleich bezeichnet. Beispielsweise wird LVS, das Lastausgleichsvorgänge auf der TCP-Ebene durchführt, als Lastausgleich der Schicht 4 bezeichnet. Im Allgemeinen gibt es die folgenden Lastausgleichsklassifizierungen:

So verwenden Sie Nginx für den Lastausgleich

Gemeinsame Softwareunterstützung

So verwenden Sie Nginx für den Lastausgleich

Gemeinsame Lastausgleichsalgorithmen

Zu den gängigen Lastausgleichsalgorithmen gehören die folgenden:

So verwenden Sie Nginx für den Lastausgleich

Lastausgleich Demonstrationsbeispiel: normale Abfrage

Als Nächstes verwenden Sie Nginx, um zu demonstrieren, wie eine normale Abfrage durchgeführt wird:

So verwenden Sie Nginx für den Lastausgleich

Bereiten Sie sich im Voraus vor

Starten Sie im Voraus zwei Dienste auf den beiden Ports 7001/7002, die zur Anzeige unterschiedlicher Informationen verwendet werden Zur Vereinfachung der Demonstration wurde mit Tornado ein Spiegel erstellt und verschiedene beim Starten des Docker-Containers übergebene Parameter verwendet, um die Unterschiede in den Diensten anzuzeigen. „Nginx starten“

Ändern Sie die Methode default.conf

Sie können den Effekt erzielen, indem Sie vim im Container installieren. Sie können es auch lokal ändern und dann über Docker CP übergeben oder es direkt mit sed ändern. Wenn Sie vim in einem Container installieren, verwenden Sie die folgende Methode

[root@kong ~]# docker run -d -p 7001:8080 liumiaocn/tornado:latest python /usr/local/bin/daemon.py "user service 1: 7001"
ddba0abd24524d270a782c3fab907f6a35c0ce514eec3159357bded09022ee57
[root@kong ~]# docker run -d -p 7002:8080 liumiaocn/tornado:latest python /usr/local/bin/daemon.py "user service 1: 7002"
95deadd795e19f675891bfcd44e5ea622c95615a95655d1fd346351eca707951
[root@kong ~]# 
[root@kong ~]# curl http://192.168.163.117:7001
hello, service :user service 1: 7001
[root@kong ~]# 
[root@kong ~]# curl http://192.168.163.117:7002
hello, service :user service 1: 7002
[root@kong ~]#
Nach dem Login kopieren

Vor der Änderung

[root@kong ~]# docker run -p 9080:80 --name nginx-lb -d nginx 
9d53c7e9a45ef93e7848eb3f4e51c2652a49681e83bda6337c89a3cf2f379c74
[root@kong ~]# docker ps |grep nginx-lb
9d53c7e9a45e    nginx           "nginx -g 'daemon ..."  11 seconds ago   up 10 seconds    0.0.0.0:9080->80/tcp                         nginx-lb
[root@kong ~]#
Nach dem Login kopieren

Nach der Änderung

http {
upstream nginx_lb {
  server 192.168.163.117:7001;
  server 192.168.163.117:7002;
}
server {
  listen    80;
  server_name www.liumiao.cn 192.168.163.117;
  location / {
    proxy_pass http://nginx_lb;
  }
}
Nach dem Login kopieren

Starten Sie den Nginx-Container neu

[root@kong ~]# docker exec -it nginx-lb sh
# apt-get update
...省略
# apt-get install vim
...省略
Nach dem Login kopieren

Bestätigen Sie das Ergebnis

Sie können das deutlich sehen Befehl, Abfrage durchführen:

[root@kong ~]# curl

Hallo, Service :Benutzerdienst 1: 7001[root@kong ~]# CurlHallo, Service :Benutzerdienst 1: 7002

[root@kong ~]# Curl

Hallo, Dienst :Benutzerdienst 1: 7001[root@kong ~]# CurlHallo, Dienst :Benutzerdienst 1: 7002

[root@kong ~]#

Demonstrationsbeispiel für den Lastausgleich: Gewichtsabfrage


Um eine Gewichtsabfrage durchzuführen, müssen Sie auf dieser Basis nur Gewicht hinzufügen




Standard.conf ändern

Standard.conf wie folgt ändern

# cat default.conf
server {
  listen    80;
  server_name localhost;
  #charset koi8-r;
  #access_log /var/log/nginx/host.access.log main;
  location / {
    root  /usr/share/nginx/html;
    index index.html index.htm;
  }
  #error_page 404       /404.html;
  # redirect server error pages to the static page /50x.html
  #
  error_page  500 502 503 504 /50x.html;
  location = /50x.html {
    root  /usr/share/nginx/html;
  }
  # proxy the php scripts to apache listening on 127.0.0.1:80
  #
  #location ~ \.php$ {
  #  proxy_pass  http://127.0.0.1;
  #}
  # pass the php scripts to fastcgi server listening on 127.0.0.1:9000
  #
  #location ~ \.php$ {
  #  root      html;
  #  fastcgi_pass  127.0.0.1:9000;
  #  fastcgi_index index.php;
  #  fastcgi_param script_filename /scripts$fastcgi_script_name;
  #  include    fastcgi_params;
  #}
  # deny access to .htaccess files, if apache's document root
  # concurs with nginx's one
  #
  #location ~ /\.ht {
  #  deny all;
  #}
}
#
Nach dem Login kopieren

Starten Sie den Nginx-Container neu

# cat default.conf
upstream nginx_lb {
  server 192.168.163.117:7001;
  server 192.168.163.117:7002;
}
server {
  listen    80;
  server_name www.liumiao.cn 192.168.163.117;
  #charset koi8-r;
  #access_log /var/log/nginx/host.access.log main;
  location / {
    #root  /usr/share/nginx/html;
    #index index.html index.htm;
    proxy_pass http://nginx_lb;
  }
  #error_page 404       /404.html;
  # redirect server error pages to the static page /50x.html
  #
  error_page  500 502 503 504 /50x.html;
  location = /50x.html {
    root  /usr/share/nginx/html;
  }
  # proxy the php scripts to apache listening on 127.0.0.1:80
  #
  #location ~ \.php$ {
  #  proxy_pass  http://127.0.0.1;
  #}
  # pass the php scripts to fastcgi server listening on 127.0.0.1:9000
  #
  #location ~ \.php$ {
  #  root      html;
  #  fastcgi_pass  127.0.0.1:9000;
  #  fastcgi_index index.php;
  #  fastcgi_param script_filename /scripts$fastcgi_script_name;
  #  include    fastcgi_params;
  #}
  # deny access to .htaccess files, if apache's document root
  # concurs with nginx's one
  #
  #location ~ /\.ht {
  #  deny all;
  #}
}
#
Nach dem Login kopieren
So verwenden Sie Nginx für den LastausgleichBestätigen Sie das Ergebnis

Sie können sehen, dass die Umfrageergebnisse gemäß dem Verhältnis von 1/3 und 2/3 durchgeführt werden:

[root@kong ~]# curl

Hallo, Dienst: Benutzerdienst 1 7001

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Nginx für den Lastausgleich. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!