Heim  >  Artikel  >  PHP-Framework  >  Wie man Nginx und Swoole mischt

Wie man Nginx und Swoole mischt

(*-*)浩
(*-*)浩Original
2019-12-14 14:06:302611Durchsuche

Wie man Nginx und Swoole mischt

Nginx basiert auf Epoll

Mit Epoll kann ein Prozess theoretisch eine unbegrenzte Anzahl von Verbindungen ohne Abfragen haben, was das Problem von c10k wirklich löst . (Empfohlenes Lernen: Swoole-Video-Tutorial )

Nginx ist ein asynchrones, nicht blockierendes Serverprogramm, das auf Epoll basiert. Natürlich ist es verständlich, dass Nginx problemlos Millionen gleichzeitiger Verbindungen verarbeiten kann.

Wie Swoole mit hoher Parallelität umgeht

①Einführung in das Reaktormodell

Asynchrone, nicht blockierende IO-Multiplexprogramme verwenden als Name das klassische Reaktormodell deutet darauf hin, dass es sich um einen Reaktor handelt, der das Senden und Empfangen von Daten nicht selbst übernimmt. Es kann nur die Ereignisänderungen eines Socket-Handles (oder eines Pipe-, Eventfd-, Signal-Handles) überwachen.

Hinweis: Was ist ein Griff? Das englische Wort handle ist Handler, was anschaulich mit dem Griff eines Topfes oder eines Löffels verglichen werden kann. Das heißt, die eindeutige Kennung der Ressource und die ID der Ressource. Über diese ID können Ressourcen betrieben werden.

Reactor ist nur ein Ereignisgenerator. Die eigentlichen Vorgänge am Socket-Handle, wie z. B. Verbinden/Akzeptieren, Senden/Empfangen und Schließen, werden im Rückruf abgeschlossen.

Da der Reaktor auf Epoll basiert, kann jeder Reaktor unzählige Verbindungsanfragen verarbeiten. Auf diese Weise kann Swoole problemlos mit hoher Parallelität umgehen.

nginx-Konfiguration:

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 ist die Adresse, auf die der Swoole-Server lauscht. root ist auf das Verzeichnis der statischen Dateien festgelegt. Beim Anfordern einer statischen Datei wird diese direkt von Nginx verarbeitet. Wenn die angeforderte Datei nicht vorhanden ist, wird sie zur Verarbeitung an den Swoole-Server gesendet.

Das obige ist der detaillierte Inhalt vonWie man Nginx und Swoole mischt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn