Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Was sind die Grundkonzepte und Prinzipien von Nginx?

Was sind die Grundkonzepte und Prinzipien von Nginx?

WBOY
WBOYnach vorne
2023-05-22 18:40:401726Durchsuche

1. Grundkonzepte von Nginx

(Engine x) ist ein leistungsstarker HTTP- und Reverse-Proxy-Webserver und bietet auch IMAP/POP3/SMTP-Dienste. Seine Merkmale sind, dass es weniger Speicher beansprucht und über starke Parallelitätsfähigkeiten verfügt. Tatsächlich sind die Parallelitätsfähigkeiten von nginx unter Webservern desselben Typs besser geeignet. Zu den Benutzern von Nginx-Websites auf dem chinesischen Festland gehören: JD.com, Sina und NetEase, Tencent, Taobao usw. nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

Nginx专为性能优化而开发,性能是器最重要的考量,实现上非常注重效率,能经受高负载的考验,据报告能支持高达50,000个并发连接数。

Nginx不仅能做反向代理,实现负载均衡;还能可以作正向代理来进行上网等功能。

二、反向代理

通过设置代理服务器,客户端(浏览器)可以使用代理服务器去访问互联网。代理对象是客户端,不知道服务端是谁。

Was sind die Grundkonzepte und Prinzipien von Nginx?

客户端不需要任何配置就能访问,只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器,获取数据后再返回给客户端。外界只能访问反向代理服务器地址,而真实服务器的IP地址则被隐藏。代理对象是服务端,不知道客户端是谁。

Was sind die Grundkonzepte und Prinzipien von Nginx?

三、负载均衡

服务器会处理客户端发送的多个请求,有些请求可能需要访问数据库,最终服务器会在处理完毕后将结果返回给客户端。

这种架构模式单一,适合并发请求少的情况,但并发量大的时候如何解决?

Was sind die Grundkonzepte und Prinzipien von Nginx?

首先可能想到升级服务器配置,但硬件的性能提升不能满足日益增长的需求,此时想到服务器集群,增加服务器数量,然后将原先请求单个服务器的情况改为将请求分发到多个服务器上,将负载分发到多个服务器上,也就是我们讲的

Was sind die Grundkonzepte und Prinzipien von Nginx?

四、动静分离

为了加速网站解析速度,可以使用不同的服务器来分别解析动态页面和静态页面,从而减少服务器的负担,加快解析速度。

Was sind die Grundkonzepte und Prinzipien von Nginx?

五、原理

mater&worker

Was sind die Grundkonzepte und Prinzipien von Nginx?

master接收信号后将任务分配给worker进行执行,worker可有多个。

Was sind die Grundkonzepte und Prinzipien von Nginx?

六、worker如何工作

客户端发送一个请求到master后,worker获取任务的机制不是直接分配也不是轮询,而是一种争抢的机制,“抢”到任务后再执行任务,即选择目标服务器tomcat等,然后返回结果。

Was sind die Grundkonzepte und Prinzipien von Nginx?

worker_connection

发送请求占用了woker两个或四个连接数。

  • 普通的静态访问最大并发数是:worker_connections *worker_processes/ 2 /2/2

  • 若是 HTTP 作 为反向代理来说,最大并发数量应该是 worker_connections *worker_processes/ 4 /4/4

当然了,worker数也不是越多越好,worker数和服务器的CPU数相等时最适宜的。

优点:

  • 可以使用 nginx –s reload

    Nginx wurde speziell für die Leistungsoptimierung entwickelt. Bei der Implementierung wird großer Wert auf Effizienz gelegt und es wird berichtet, dass es den Test standhalten kann bis zu 50.000 gleichzeitige Verbindungen.
  • Nginx kann nicht nur als Reverse-Proxy für den Lastausgleich verwendet werden; es kann auch als Forward-Proxy für den Internetzugang und andere Funktionen verwendet werden.

    2. Reverse Proxy
Durch die Einrichtung eines Proxyservers kann der Client (Browser) über den Proxyserver auf das Internet zugreifen. Das Proxy-Objekt ist der Client und weiß nicht, wer der Server ist. #🎜🎜##🎜🎜#Was sind die Grundkonzepte und Prinzipien von Nginx#🎜🎜##🎜🎜#Der Client benötigt für den Zugriff keine Konfiguration. Er muss lediglich die Anfrage an den Reverse-Proxy-Server senden, und der Reverse-Proxy-Server wählt den Zielserver aus, ruft die Daten ab und kehrt dann zurück es an den Kunden weiter. Die Außenwelt kann nur auf die Adresse des Reverse-Proxy-Servers zugreifen, während die IP-Adresse des echten Servers verborgen bleibt. Das Proxy-Objekt ist der Server und weiß nicht, wer der Client ist. #🎜🎜##🎜🎜#Was sind die Grundkonzepte und Prinzipien von Nginx#🎜🎜##🎜🎜#3. Lastausgleich###🎜🎜#Der Server verarbeitet mehrere vom Client gesendete Anforderungen. Schließlich gibt der Server die Ergebnisse zurück an den Kunden. #🎜🎜##🎜🎜#Dieses Architekturmodell ist einzeln und eignet sich für Situationen mit wenigen gleichzeitigen Anforderungen. Wie kann es jedoch gelöst werden, wenn die Parallelität groß ist? #🎜🎜##🎜🎜#Was sind die Grundkonzepte und Prinzipien von Nginx#🎜🎜##🎜🎜#Zuallererst denken Sie vielleicht über ein Upgrade der Serverkonfiguration nach, aber die Leistungsverbesserung der Hardware kann den wachsenden Bedarf nicht decken. Zu diesem Zeitpunkt können Sie an einen Servercluster denken, der erhöht wird Anzahl der Server, und ändern Sie dann die ursprüngliche Anforderung für einen einzelnen Server in eine Anforderung. Auf mehrere Server verteilen, die Last auf mehrere Server verteilen, worüber wir sprechen #🎜🎜##🎜🎜#Was sind die Grundkonzepte und Prinzipien von Nginx#🎜🎜##🎜🎜# Viertens, dynamisch und statische Trennung#🎜🎜##🎜🎜#Um die Website-Parsing-Geschwindigkeit zu beschleunigen, können Sie verschiedene Server verwenden, um dynamische Seiten bzw. statische Seiten zu analysieren, wodurch die Belastung des Servers verringert und die Analyse beschleunigt wird. #🎜🎜##🎜🎜#Was sind die Grundkonzepte und Prinzipien von Nginx#🎜🎜##🎜🎜#5. Prinzip#🎜🎜##🎜🎜#mater&worker#🎜🎜##🎜🎜#Was sind die Grundkonzepte und Prinzipien von Nginx#🎜🎜##🎜🎜#master Nach Erhalt des Signals weist der Arbeiter die Aufgabe zu an den Arbeiter zur Ausführung. Es kann mehrere geben. #🎜🎜##🎜🎜#Was sind die Grundkonzepte und Prinzipien von Nginx#🎜🎜##🎜🎜#6. Wie der Worker funktioniert#🎜🎜##🎜🎜#Nachdem der Client eine Anfrage an den Master gesendet hat, ist der Mechanismus, mit dem der Worker die Aufgabe erhält, keine direkte Zuweisung oder Abfrage. Der Mechanismus besteht jedoch darin, die Aufgabe zu „ergreifen“ und sie dann auszuführen, dh den Tomcat des Zielservers usw. auszuwählen und dann das Ergebnis zurückzugeben. #🎜🎜##🎜🎜#Was sind die Grundkonzepte und Prinzipien von Nginx#🎜🎜##🎜🎜#worker_connection#🎜🎜##🎜🎜# Das Senden einer Anfrage nimmt zwei oder vier Worker-Verbindungen in Anspruch. #🎜🎜#
    #🎜🎜##🎜🎜#Die maximale Anzahl gleichzeitiger statischer Zugriffe beträgt: worker_connections *worker_processes/ 2 /2/2# 🎜🎜##🎜🎜##🎜🎜##🎜🎜#Wenn HTTP als Reverse-Proxy verwendet wird, sollte die maximale Anzahl gleichzeitiger Verbindungen worker_connections *worker_processes/ 4 /4/4 betragen. #🎜🎜##🎜🎜##🎜🎜##🎜🎜# Natürlich gilt: Je mehr Worker, desto besser. Am besten ist es, wenn die Anzahl der Worker der Anzahl der CPUs auf dem Server entspricht. #🎜🎜##🎜🎜#Vorteile:#🎜🎜#
      #🎜🎜##🎜🎜#Sie können nginx – s reload Hot Deployment, verwenden Sie Nginx, um Hot Deployment-Vorgänge durchzuführen#🎜🎜##🎜🎜##🎜🎜##🎜🎜#Jeder Worker ist ein unabhängiger Prozess wird weiterhin am Wettbewerb teilnehmen und den Anforderungsprozess realisieren, ohne dass es zu einer Dienstunterbrechung kommt.

Das obige ist der detaillierte Inhalt vonWas sind die Grundkonzepte und Prinzipien von Nginx?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen