nginx kann swoole nicht verknüpfen. Was soll ich tun?
Methode zum Mischen von Nginx und Swoole
Nginx basierend auf Epoll
Mit Epoll kann ein Prozess theoretisch eine unbegrenzte Anzahl von Verbindungen haben, und Polling ist eigentlich nicht erforderlich löst das Problem von c10k.
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 das klassische Reaktormodell, was, wie der Name schon sagt, Reaktor bedeutet Es verarbeitet die gesendeten und empfangenen Daten nicht selbst. 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:
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 vonWas soll ich tun, wenn Nginx keine Verbindung zu Swoole herstellen kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!