Maison >Opération et maintenance >Nginx >Quels sont les concepts et principes de base de Nginx
(engine x) est un serveur Web HTTP et proxy inverse hautes performances, et fournit également des services IMAP/POP3/SMTP. Ses caractéristiques sont qu'il occupe moins de mémoire et possède de fortes capacités de concurrence. En fait, les capacités de concurrence de nginx
fonctionnent mieux parmi les serveurs Web du même type. Les utilisateurs de sites Web nginx en Chine continentale incluent : Baidu, JD.com, Sina et NetEase, Tencent, Taobao, etc. 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
attribue des tâches aux travailleurs pour exécution. Il peut y avoir plusieurs travailleurs. 🎜🎜🎜🎜6. worker Comment ça marche🎜🎜Une fois que le client a envoyé une requête au maître, le mécanisme permettant au travailleur d'obtenir la tâche n'est pas une allocation directe ou une interrogation, mais un mécanisme de brouillage. Après avoir « saisi » la tâche, la tâche est exécutée, c'est-à-dire. c'est-à-dire que le serveur cible Tomcat est sélectionné, attendez puis renvoyez le résultat. 🎜🎜🎜🎜 worker_connection🎜🎜L'envoi d'une demande nécessite deux ou quatre connexions de travailleur. 🎜worker_connections *worker_processes/ 2 /2/2
🎜🎜🎜🎜Si HTTP est utilisé comme proxy inverse Par exemple, le nombre maximum de connexions simultanées doit être worker_connections *worker_processes/ 4 /4/4
. 🎜🎜🎜🎜Bien sûr, plus il y a de travailleurs, mieux c'est. C'est plus approprié lorsque le nombre de travailleurs est égal au nombre de processeurs sur le serveur. 🎜🎜Avantages :🎜nginx –s reload
pour un déploiement à chaud et utiliser nginx pour un déploiement à chaud opérations🎜 🎜🎜🎜Chaque travailleur est un processus indépendant. S'il y a un problème avec l'un des travailleurs, les autres continueront à rivaliser et à mettre en œuvre le processus de demande sans provoquer d'interruption de service🎜🎜🎜.Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!