Maison  >  Article  >  cadre php  >  Comment mélanger nginx et swoole

Comment mélanger nginx et swoole

(*-*)浩
(*-*)浩original
2019-12-14 14:06:302591parcourir

Comment mélanger nginx et swoole

Nginx basé sur epoll

Avec epoll, un processus peut théoriquement avoir un nombre illimité de connexions sans interrogation, vraiment résolu le problème de c10k . (Apprentissage recommandé : tutoriel vidéo swoole )

Nginx est un programme serveur asynchrone non bloquant basé sur epoll. Naturellement, il est compréhensible que Nginx puisse facilement gérer des millions de connexions simultanées.

Comment swoole gère la concurrence élevée

①Introduction au modèle Reactor

Les programmes non bloquants asynchrones de multiplexage IO utilisent le modèle Reactor classique, comme nom. suggère, est un réacteur, ce qui signifie qu'il ne gère pas lui-même l'envoi et la réception de données. Il ne peut surveiller que les changements d'événement d'un handle de socket (peut également être un pipe, eventfd, signal).

Remarque : Qu'est-ce qu'une poignée ? Le mot anglais handle est handler, qui peut être comparé de manière frappante au manche d’un pot ou d’une cuillère. C'est-à-dire l'identifiant unique de la ressource et l'ID de la ressource. Les ressources peuvent être exploitées via cet ID.

Reactor n'est qu'un générateur d'événements. Les opérations réelles sur le handle du socket, telles que connecter/accepter, envoyer/recv et fermer, sont effectuées dans le rappel.

Le réacteur étant basé sur epoll, chaque réacteur peut gérer d'innombrables demandes de connexion. De cette façon, swoole peut facilement gérer une concurrence élevée.

Configuration nginx :

server {
    listen  80;
    server_name  www.swoole.com;
    root  /data/wwwroot/www.swoole.com;
    location / {
        if (!-e $request_filename){
            proxy_pass http://127.0.0.1:9501;
        }
    }
}

9501 est l'adresse que le serveur swoole écoute. root est défini sur le répertoire des fichiers statiques. Lors de la demande d'un fichier statique, il est traité directement par Nginx. Lorsque le fichier demandé n'existe pas, il est envoyé au serveur Swoole pour traitement.

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:
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