Maison Opération et maintenance Nginx Limite de connexion au serveur proxy inverse Nginx et méthode de réglage de la file d'attente des demandes

Limite de connexion au serveur proxy inverse Nginx et méthode de réglage de la file d'attente des demandes

Aug 08, 2023 am 10:37 AM
nginx反向代理 连接数限制 请求队列调优

Limite de connexion au serveur proxy inverse Nginx et méthode de réglage de la file dattente des demandes

Limite de connexion au serveur proxy inverse Nginx et méthode de réglage de la file d'attente des demandes

Le serveur proxy inverse Nginx est un choix très courant et fiable lors de l'exécution d'applications réseau à haute concurrence. Toutefois, si les limites de connexion et les files d'attente de requêtes ne sont pas correctement configurées, le serveur peut rencontrer des goulots d'étranglement en termes de performances et des problèmes de déni de service. Cet article expliquera comment utiliser Nginx pour limiter le nombre de connexions et optimiser la file d'attente des requêtes.

Limite de connexion

Nginx peut limiter le nombre de connexions en définissant le paramètre worker_connections. Ce paramètre spécifie le nombre maximum de connexions que chaque processus de travail peut gérer simultanément. Lorsque le nombre de connexions atteint cette limite, les nouvelles connexions seront rejetées.

Ouvrez le fichier de configuration Nginx, recherchez le bloc http et ajoutez ou modifiez la ligne suivante :

http {
  ...
  worker_processes  auto;
  worker_connections  1024;
  ...
}
Copier après la connexion

Dans l'exemple ci-dessus, worker_connections est défini sur 1024, ce qui signifie que chaque processus de travail peut gérer 1024 connexions simultanément. En fonction des performances matérielles du serveur et des exigences des applications, vous pouvez effectuer des ajustements en fonction des conditions réelles. Veuillez noter que la valeur de work_processes doit être définie sur un multiple du nombre de cœurs de processeur pour utiliser pleinement les ressources du serveur.

Réglage de la file d'attente des demandes

Lorsque le nombre de connexions simultanées dépasse la limite worker_connections, Nginx placera la demande dans la file d'attente en attente de traitement. Vous pouvez ajuster la longueur et le délai d'attente des demandes pour minimiser le risque de déni de service.

Procédez à l'édition du fichier de configuration Nginx et ajoutez ou modifiez la ligne suivante :

http {
  ...
  events {
    accept_mutex off;
    worker_connections  1024;
    worker_processes  auto;
    multi_accept on;
    use epoll;
    ...
  }
  ...
  server {
    ...
    location / {
      proxy_pass http://backend;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_http_version  1.1;
      proxy_set_header        Upgrade $http_upgrade;
      proxy_set_header        Connection "upgrade";
      proxy_read_timeout      600s;
      proxy_connect_timeout   600s;
      proxy_send_timeout      600s;
      proxy_buffer_size       128k;
      proxy_buffers           4 256k;
      proxy_busy_buffers_size 256k;
      proxy_buffering         on;
      ...
    }
    ...
  }
}
Copier après la connexion

Dans l'exemple ci-dessus, nous avons apporté plusieurs réglages à la file d'attente des requêtes. Tout d'abord, en désactivant accept_mutex, nous désactivons le mutex afin que plusieurs processus de travail puissent accepter de nouvelles connexions en même temps. Deuxièmement, définissez multi_accept sur on pour que Nginx traite toutes les requêtes de la file d'attente le plus rapidement possible. Enfin, nous définissons le délai d'attente et la taille du tampon en fonction des besoins réels.

Exemple de code

Vous trouverez ci-dessous un exemple de serveur Node.js simple, simulant une application backend.

const http = require('http');

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello, World!
');
});

server.listen(3000, 'localhost', () => {
  console.log('Server running at http://localhost:3000/');
});
Copier après la connexion

Dans l'exemple ci-dessus, nous avons créé un simple serveur HTTP en écoute sur le port local 3000. Puisque ce serveur est uniquement destiné à des fins de démonstration, il renverra simplement une simple chaîne "Hello, World!".

Pour utiliser Nginx comme serveur proxy inverse, vous devez enregistrer l'exemple de code ci-dessus sous forme de fichier appelé server.js et exécuter la commande suivante pour démarrer le serveur : server.js的文件,并执行以下命令来启动服务器:

node server.js
Copier après la connexion

接下来,将以下Nginx配置保存为一个名为nginx.conf的文件:

http {
  ...
  server {
    listen 80;
    location / {
      proxy_pass http://localhost:3000;
    }
  }
}
Copier après la connexion

通过执行以下命令来启动Nginx:

nginx -c /path/to/nginx.conf
Copier après la connexion

现在,您可以通过访问http://localhostrrreee

Ensuite, ajoutez The La configuration Nginx suivante est enregistrée sous forme de fichier nommé nginx.conf :

rrreee

Démarrez Nginx en exécutant la commande suivante :

rrreee

Maintenant, vous pouvez y accéder en visitant http://localhost pour accéder à votre application. Toutes les requêtes seront proxy et équilibrées de charge via le serveur Nginx. 🎜🎜Résumé🎜🎜En limitant le nombre de connexions et en ajustant la file d'attente des requêtes, vous pouvez mieux gérer les applications réseau à haute concurrence. Ce qui précède décrit comment utiliser Nginx pour limiter le nombre de connexions et optimiser la file d'attente des requêtes, et fournit un exemple simple de code de serveur Node.js. Veuillez effectuer les ajustements de configuration appropriés en fonction des besoins réels et des performances matérielles du serveur. 🎜

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 de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Méthode de défense contre le reniflage des requêtes HTTP dans le proxy inverse Nginx Méthode de défense contre le reniflage des requêtes HTTP dans le proxy inverse Nginx Jun 11, 2023 am 08:12 AM

Avec le développement d'Internet, les serveurs et les applications Web sont devenus de plus en plus complexes et les attaques de sécurité ont progressivement augmenté. Nginx est l'un des outils les plus utilisés dans les serveurs Web et les technologies d'équilibrage de charge. Le mécanisme de proxy inverse de Nginx peut en faire un serveur d'applications fiable, mais il constitue également une cible largement attaquée. Dans cet article, nous explorerons comment nous défendre contre les attaques par reniflage de requêtes HTTP dans le proxy inverse Nginx. Qu’est-ce qu’une attaque par reniflage de requêtes HTTP ? Les attaques par reniflage de requêtes HTTP sont courantes

Limite de connexion au serveur proxy inverse Nginx et méthode de réglage de la file d'attente des demandes Limite de connexion au serveur proxy inverse Nginx et méthode de réglage de la file d'attente des demandes Aug 08, 2023 am 10:37 AM

Limite de connexion au serveur proxy inverse Nginx et méthode de réglage de la file d'attente des demandes Lors de l'exécution d'applications réseau à haute concurrence, le serveur proxy inverse Nginx est un choix très courant et fiable. Toutefois, si les limites de connexion et les files d'attente de requêtes ne sont pas correctement configurées, le serveur peut rencontrer des goulots d'étranglement en termes de performances et des problèmes de déni de service. Cet article expliquera comment utiliser Nginx pour limiter le nombre de connexions et optimiser la file d'attente des requêtes. Nginx peut limiter le nombre de connexions en définissant le paramètre worker_connections.

Tutoriel de configuration du proxy inverse Nginx Websocket pour obtenir une communication en temps réel Tutoriel de configuration du proxy inverse Nginx Websocket pour obtenir une communication en temps réel Jul 04, 2023 pm 03:28 PM

Tutoriel de configuration du proxy inverse Nginx pour obtenir un aperçu de la communication en temps réel : cet article explique comment configurer un proxy inverse via Nginx pour obtenir une communication en temps réel avec Websocket. Websocket est un protocole de communication réseau moderne qui permet une communication en temps réel en duplex intégral entre les clients et les serveurs. Contexte : Dans le protocole HTTP traditionnel, le client envoie une requête au serveur et la connexion est fermée immédiatement après que le serveur a renvoyé une réponse, ce qui rend la communication en temps réel impossible. Et Websocket

Résolution DNS sécurisée dans le proxy inverse Nginx Résolution DNS sécurisée dans le proxy inverse Nginx Jun 11, 2023 am 09:51 AM

À mesure que les applications Web continuent d'évoluer, nous avons besoin de plus en plus de mesures de sécurité pour protéger nos données et notre vie privée. Parmi eux, la résolution DNS sécurisée est une mesure très importante, qui peut nous protéger contre les attaques de serveurs DNS malveillants. Il est également important d'utiliser une résolution DNS sécurisée dans le proxy inverse Nginx. Cet article discutera de la résolution DNS sécurisée dans le proxy inverse Nginx et expliquera comment le configurer. Qu’est-ce que la résolution DNS ? La résolution DNS (DomainNameSystem) convertit les noms de domaine en IP

Configuration HTTPS du proxy inverse Nginx, transmission de site Web cryptée Configuration HTTPS du proxy inverse Nginx, transmission de site Web cryptée Jul 04, 2023 pm 12:45 PM

Configuration HTTPS du proxy inverse Nginx, transmission cryptée de sites Web Avec le développement rapide d'Internet, la sécurité lors de la transmission des données est devenue de plus en plus importante. Afin de protéger la confidentialité des utilisateurs et la sécurité des données, le cryptage des transmissions sur les sites Web est devenu un moyen nécessaire. L'utilisation du protocole HTTPS permet de crypter la transmission des données et d'assurer la sécurité du site Web. En tant que serveur Web hautes performances, Nginx peut configurer des sites Web HTTPS via un proxy inverse. Présentons Ngi en détail ci-dessous

Configuration WebSocket du proxy inverse Nginx pour obtenir une communication en temps réel Configuration WebSocket du proxy inverse Nginx pour obtenir une communication en temps réel Jul 04, 2023 pm 05:37 PM

Configuration WebSocket du proxy inverse Nginx pour obtenir une communication en temps réel WebSocket est un protocole réseau qui prend en charge la communication en duplex intégral. Il peut établir une connexion persistante entre le client et le serveur pour établir une communication en temps réel. Nginx est un serveur Web et un serveur proxy inverse hautes performances. Grâce à la configuration du proxy inverse de Nginx, vous pouvez transmettre les requêtes WebSocket au serveur principal, réalisant ainsi la fonction de communication en temps réel de WebSocket. Voici un guide sur la façon de configurer Ng

Politique de contrôle d'accès multi-ports dans le proxy inverse Nginx Politique de contrôle d'accès multi-ports dans le proxy inverse Nginx Jun 10, 2023 pm 11:28 PM

Nginx est un serveur proxy inverse largement utilisé et un serveur Web léger. Dans l'architecture de proxy inverse, Nginx joue le rôle d'intermédiaire entre la requête et le client, utilisé pour résoudre les problèmes d'équilibrage de charge du serveur, de mise en cache, de sécurité et autres. Lors de l'application du proxy inverse Nginx, il offre à l'équipe plus de choix pour l'architecture du serveur et peut répondre rapidement aux changements et aux besoins de l'entreprise. Dans le processus d'utilisation du proxy inverse Nginx, le contrôle d'accès multi-ports est devenu un problème de plus en plus important. Cet article détaillera

Stratégie de contrôle d'accès multi-sections dans le proxy inverse Nginx Stratégie de contrôle d'accès multi-sections dans le proxy inverse Nginx Jun 10, 2023 pm 11:19 PM

1. Le concept de proxy inverse Nginx Le proxy inverse signifie qu'une fois que le serveur proxy a reçu la demande du client, il transmet la demande au serveur interne pour traitement et renvoie le résultat du traitement au client. Nginx est un serveur Web et un serveur proxy inverse hautes performances et fiable, largement utilisé dans les services Internet, les applications mobiles, le streaming vidéo et d'autres domaines. 2. Problèmes de contrôle d'accès à plusieurs sections du proxy inverse Nginx Lors de l'exécution d'un proxy inverse, des problèmes de contrôle d'accès à plusieurs sections sont souvent impliqués. Par exemple, le module de commande d'un site e-commerce

See all articles