(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不仅能做反向代理,实现负载均衡;还能可以作正向代理来进行上网等功能。
通过设置代理服务器,客户端(浏览器)可以使用代理服务器去访问互联网。代理对象是客户端,不知道服务端是谁。
客户端不需要任何配置就能访问,只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器,获取数据后再返回给客户端。外界只能访问反向代理服务器地址,而真实服务器的IP地址则被隐藏。代理对象是服务端,不知道客户端是谁。
服务器会处理客户端发送的多个请求,有些请求可能需要访问数据库,最终服务器会在处理完毕后将结果返回给客户端。
这种架构模式单一,适合并发请求少的情况,但并发量大的时候如何解决?
首先可能想到升级服务器配置,但硬件的性能提升不能满足日益增长的需求,此时想到服务器集群,增加服务器数量,然后将原先请求单个服务器的情况改为将请求分发到多个服务器上,将负载分发到多个服务器上,也就是我们讲的
为了加速网站解析速度,可以使用不同的服务器来分别解析动态页面和静态页面,从而减少服务器的负担,加快解析速度。
mater&worker
master
接收信号后将任务分配给worker进行执行,worker可有多个。
客户端发送一个请求到master后,worker获取任务的机制不是直接分配也不是轮询,而是一种争抢的机制,“抢”到任务后再执行任务,即选择目标服务器tomcat等,然后返回结果。
worker_connection
发送请求占用了woker两个或四个连接数。
普通的静态访问最大并发数是:worker_connections *worker_processes/ 2 /2/2
若是 HTTP 作 为反向代理来说,最大并发数量应该是 worker_connections *worker_processes/ 4 /4/4
。
当然了,worker数也不是越多越好,worker数和服务器的CPU数相等时最适宜的。
优点:
可以使用 nginx –s reload
master
Nach Erhalt des Signals weist der Arbeiter die Aufgabe zu an den Arbeiter zur Ausführung. Es kann mehrere geben. #🎜🎜##🎜🎜##🎜🎜##🎜🎜#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. #🎜🎜##🎜🎜##🎜🎜##🎜🎜#worker_connection#🎜🎜##🎜🎜# Das Senden einer Anfrage nimmt zwei oder vier Worker-Verbindungen in Anspruch. #🎜🎜#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:#🎜🎜#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!