Maison >Opération et maintenance >Nginx >Quels sont les concepts et principes de base de Nginx

Quels sont les concepts et principes de base de Nginx

WBOY
WBOYavant
2023-05-22 18:40:401794parcourir

1. Concepts 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不仅能做反向代理,实现负载均衡;还能可以作正向代理来进行上网等功能。

二、反向代理

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

Quels sont les concepts et principes de base de Nginx

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

Quels sont les concepts et principes de base de Nginx

三、负载均衡

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

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

Quels sont les concepts et principes de base de Nginx

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

Quels sont les concepts et principes de base de Nginx

四、动静分离

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

Quels sont les concepts et principes de base de Nginx

五、原理

mater&worker

Quels sont les concepts et principes de base de Nginx

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

Quels sont les concepts et principes de base de Nginx

六、worker如何工作

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

Quels sont les concepts et principes de base de 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 est spécialement développé pour l'optimisation des performances. La performance est la considération la plus importante du serveur. La mise en œuvre accorde une grande attention à l'efficacité et peut résister au test de charge élevée.
  • Nginx peut non seulement être utilisé comme proxy inverse pour réaliser l'équilibrage de charge ; il peut également être utilisé comme proxy direct pour l'accès à Internet et d'autres fonctions.

    2. Proxy inverse
En configurant un serveur proxy, le client (navigateur) peut utiliser le serveur proxy pour accéder à Internet. L'objet proxy est le client et ne sait pas qui est le serveur. 🎜🎜Quels sont les concepts et principes de base de Nginx🎜🎜Le client non Il est accessible sans aucune configuration. Il vous suffit d'envoyer la demande au serveur proxy inverse, et le serveur proxy inverse sélectionnera le serveur cible, obtiendra les données, puis les renverra au client. Le monde extérieur ne peut accéder qu'à l'adresse du serveur proxy inverse, tandis que l'adresse IP du serveur réel est masquée. L'objet proxy est le serveur et ne sait pas qui est le client. 🎜🎜Quels sont les concepts et principes de base de Nginx🎜🎜3. Load Balance🎜🎜Le serveur traitera plusieurs requêtes envoyées par le client. Certaines requêtes peuvent nécessiter un accès à la base de données. Enfin, le serveur renverra les résultats au client après traitement. 🎜🎜Ce modèle d'architecture est unique et adapté aux situations avec peu de requêtes simultanées, mais comment le résoudre lorsque le taux de concurrence est important ? 🎜🎜Quels sont les concepts et principes de base de Nginx🎜🎜Le premier chose à laquelle vous pourriez penser Mettez à niveau la configuration du serveur, mais l'amélioration des performances du matériel ne peut pas répondre à la demande croissante. À l'heure actuelle, je pense au cluster de serveurs, augmente le nombre de serveurs, puis modifie la demande d'origine en un seul serveur. distribuer la requête sur plusieurs serveurs et répartir la charge sur plusieurs serveurs Sur un serveur, c'est de cela dont on parle 🎜🎜Les concepts et principes de base de Nginx sont quoi🎜🎜4. Séparation des pages dynamiques et statiques🎜🎜Afin d'accélérer l'analyse des sites Web, différents serveurs peuvent être utilisés pour analyser les pages dynamiques et les pages statiques respectivement, réduisant ainsi la charge sur le serveur et accélérant l'analyse. 🎜🎜Quels sont les concepts et principes de base de Nginx🎜🎜5. Principes 🎜🎜mater&worker🎜🎜Quels sont les concepts et principes de base de Nginx 🎜🎜 Après avoir reçu le signal, master attribue des tâches aux travailleurs pour exécution. Il peut y avoir plusieurs travailleurs. 🎜🎜Quels sont les concepts et principes de base de Nginx🎜🎜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. 🎜🎜Quels sont les concepts et principes de base de Nginx🎜🎜 worker_connection🎜🎜L'envoi d'une demande nécessite deux ou quatre connexions de travailleur. 🎜
    🎜🎜Le nombre maximum d'accès statiques simultanés est : 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 :🎜
      🎜🎜Vous pouvez utiliser 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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer