nginx ne peut pas lier swoole Que dois-je faire ?
Méthode de mélange de nginx et swoole
Nginx basé sur epoll
Avec epoll, théoriquement un processus peut avoir un nombre illimité de connexions, et pas vraiment besoin de Polling résout le problème de c10k.
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 de réacteur
Les programmes asynchrones non bloquants de multiplexage IO utilisent le modèle Reactor classique, comme son nom l'indique, signifie réacteur, et. il ne traite pas lui-même les données envoyées et reçues. Il ne peut surveiller que les changements d'événement d'un handle de socket (ou de tube, 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 :
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!