Heim > PHP-Framework > Swoole > Hauptteil

Tutorial zur Verwendung des Nginx-Reverse-Proxys und des Lastausgleichs in Swoole

PHPz
Freigeben: 2023-06-13 10:47:29
Original
983 Leute haben es durchsucht

Swoole ist eine leichte, leistungsstarke Netzwerkkommunikationsbibliothek für die PHP-Sprache. Ihr Aufkommen hat die Leistung und Skalierbarkeit von PHP-Anwendungen erheblich verbessert. Nginx ist ein beliebter Webserver und wird auch häufig für Reverse-Proxy und Lastausgleich verwendet. Durch die Verwendung des Reverse-Proxys und des Lastausgleichs von Nginx in Swoole können Sie die Vorteile von Swoole besser nutzen. Im Folgenden finden Sie ein Tutorial zur Verwendung von Nginx zur Implementierung des Swoole-Reverse-Proxys und des Lastausgleichs.

  1. Nginx installieren

Zuerst müssen Sie Nginx installieren, das über den folgenden Befehl installiert werden kann:

sudo apt-get update
sudo apt-get install nginx
Nach dem Login kopieren
  1. Nginx konfigurieren

Nach Abschluss der Installation muss Nginx konfiguriert werden. Die Konfigurationsdatei befindet sich in /etc/nginx/sites-available/default. Öffnen Sie die Datei zum Bearbeiten und ändern Sie sie in den folgenden Inhalt:

upstream swoole {
  server 127.0.0.1:9501 weight=10 max_fails=3 fail_timeout=30s;
  server 127.0.0.1:9502 weight=5 max_fails=3 fail_timeout=30s;
}

server {
  listen 80;
  server_name example.com;

  location / {
    proxy_pass http://swoole;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}
Nach dem Login kopieren

In der obigen Konfigurationsdatei haben wir einen Upstream namens swoole definiert, der die beiden vom Swoole-Dienst überwachten Adressen und Gewichtungen enthält. Wir richten außerdem einen virtuellen Host ein, der Port 80 überwacht und Anfragen über einen Reverse-Proxy an den Swoole-Cluster verteilt.

  1. Swoole-Dienst schreiben

Als Nächstes müssen Sie einen einfachen Swoole-Dienst schreiben, um von Nginx weitergeleitete Anfragen zu empfangen. Das Folgende ist ein einfacher Beispielcode:

<?php
 
$http = new SwooleHttpServer("0.0.0.0", 9501);
 
$http->on('request', function ($request, $response) {
    $response->header("Content-Type", "text/plain");
    $response->end("Hello World
");
});
 
$http->start();
Nach dem Login kopieren

Im obigen Code haben wir einen Swoole-HTTP-Dienst erstellt, der Port 9501 überwacht, und in der Anforderungsrückruffunktion eine Hello World-Zeichenfolge zurückgegeben.

  1. Starten Sie den Swoole-Dienst.

Führen Sie den folgenden Befehl aus, um den Swoole-Dienst zu starten:

php server.php
Nach dem Login kopieren

Zu diesem Zeitpunkt wurde der Swoole-Dienst erfolgreich gestartet und überwacht Port 9501.

  1. Nginx starten

Führen Sie abschließend den folgenden Befehl aus, um Nginx zu starten:

sudo service nginx start
Nach dem Login kopieren

An diesem Punkt wurde Nginx erfolgreich gestartet und Sie können die Reaktion des Swoole-Dienstes testen, indem Sie http://example.com/ besuchen. .

  1. Lastausgleich testen

Um die Lastausgleichsfunktion von Nginx zu testen, können wir einen anderen Swoole-HTTP-Dienst starten, um einen anderen Server zu simulieren, und zum Starten den folgenden Befehl ausführen:

php server.php --port=9502
Nach dem Login kopieren

Zu diesem Zeitpunkt in der Nginx-Konfiguration Datei: Wir definieren das Gewicht eines Ports im Swoole-Cluster als 10 und das Gewicht des anderen Ports als 5. Mit anderen Worten: Nginx leitet etwa zwei Drittel der Anfragen an Port 9501 und ein Drittel der Anfragen an Port 9502 weiter. Wir können die Lastausgleichsfunktion testen, indem wir http://example.com/ mehrmals im Browser aktualisieren.

Zusammenfassung

Durch die oben genannten Vorgänge haben wir die Reverse-Proxy- und Lastausgleichsfunktionen von Nginx in Swoole erfolgreich implementiert. Die Reverse-Proxy- und Lastausgleichsfunktionen von Nginx können uns dabei helfen, Anforderungen in Swoole-Anwendungen besser zu verteilen und die Parallelität und Stabilität dynamischer Websites zu verbessern.

Das obige ist der detaillierte Inhalt vonTutorial zur Verwendung des Nginx-Reverse-Proxys und des Lastausgleichs in Swoole. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage