So implementieren Sie die Nginx-Geschwindigkeitsbegrenzungskonfiguration

王林
Freigeben: 2023-11-08 21:22:55
Original
1272 Leute haben es durchsucht

So implementieren Sie die Nginx-Geschwindigkeitsbegrenzungskonfiguration

Für die Implementierung der Nginx-Geschwindigkeitsbegrenzungskonfiguration sind bestimmte Codebeispiele erforderlich.

Nginx muss als Hochleistungs-Webserver und Reverse-Proxy-Server in praktischen Anwendungen häufig die Geschwindigkeit bestimmter Schnittstellen oder Ressourcen steuern und Fairness des Systems. Im Folgenden wird erläutert, wie die Geschwindigkeitsbegrenzungskontrolle über die Nginx-Konfigurationsdatei implementiert wird, und es werden spezifische Codebeispiele angehängt.

  1. Definieren des Geschwindigkeitsbegrenzungsbereichs in der Konfigurationsdatei
    Zunächst müssen Sie einen Geschwindigkeitsbegrenzungsbereich in der Nginx-Konfigurationsdatei definieren, um Informationen zu Geschwindigkeitsbegrenzungen zu speichern und zu verwalten. Öffnen Sie die Nginx-Konfigurationsdatei (normalerweise nginx.conf oder sites-available/default) und fügen Sie die folgende Konfiguration im http-Modul hinzu:
http { ... limit_req_zone $binary_remote_addr zone=rate_limit:10m rate=10r/s; ... }
Nach dem Login kopieren

In der obigen Konfiguration wirdlimit_req_zoneverwendet, um eine Geschwindigkeit zu definieren limit Area, wobei$binary_remote_addreine Geschwindigkeitsbegrenzung basierend auf der Client-IP-Adresse bedeutet. Der Parameterzonegibt den Namen des Geschwindigkeitsbegrenzungsbereichs als rate_limit und10m< an /code> bedeutet, dass die Speichergröße des ratenbegrenzten Bereichs 10 MB beträgt und der Parameter rateangibt, dass die maximal zulässige Anzahl von Anforderungen 10 pro Sekunde beträgt.limit_req_zone用于定义一个限速区域,其中$binary_remote_addr表示根据客户端IP地址进行限速,zone参数指定了限速区域的名称为rate_limit,10m表示限速区域的内存大小为10MB,rate参数指定了允许的最大请求数量是每秒10个。

  1. 配置文件中应用限速
    接下来,在配置文件中需要对具体的接口或资源进行限速控制。打开配置文件,在server块内添加以下配置:
server { ... location /api/limited { limit_req zone=rate_limit burst=20 nodelay; ... } ... }
Nach dem Login kopieren

在以上配置中,location指令表示限速控制应用于路径为/api/limited的URL。limit_req指令用于设置限速规则,其中zone参数指定了使用前面定义的限速区域rate_limit,burst参数表示在超过限速后允许的最大请求数量,nodelay

    Geschwindigkeitsbegrenzung in der Konfigurationsdatei anwenden
      Als nächstes müssen Sie die Geschwindigkeitsbegrenzung für bestimmte Schnittstellen oder Ressourcen in der Konfigurationsdatei steuern. Öffnen Sie die Konfigurationsdatei und fügen Sie die folgende Konfiguration im Serverblock hinzu:

    1. sudo service nginx reload
      Nach dem Login kopieren
    2. In der obigen Konfiguration gibt die location-Direktive an, dass die Ratenbegrenzungskontrolle auf die URL mit dem Pfad /api angewendet werden soll /beschränkt. Der Befehl limit_reqwird zum Festlegen von Geschwindigkeitsbegrenzungsregeln verwendet. Der Parameter zonegibt die Verwendung der zuvor definierten Geschwindigkeitsbegrenzungszone rate_limit an Gibt an, dass die Geschwindigkeitsbegrenzung überschritten wird. Die maximal zulässige Anzahl von Anforderungen nach der Geschwindigkeitsbegrenzung. Der Parameter nodelaygibt an, ob bei Anforderungen, die die Geschwindigkeitsbegrenzung überschreiten, sofort ein Fehler zurückgegeben werden soll.

    Nginx-Konfiguration neu laden und testen

    Speichern Sie nach Abschluss der obigen Konfiguration die Konfigurationsdatei und laden Sie die Nginx-Konfiguration neu, damit die Einstellungen wirksam werden. Sie können den folgenden Befehl verwenden, um die Nginx-Konfiguration neu zu laden:

    ab -n 1000 -c 100 http://your-domain.com/api/limited
    Nach dem Login kopieren
    Anschließend können Sie Tools verwenden, um gleichzeitige Anforderungen zu testen, zu simulieren und die Auswirkung der Geschwindigkeitsbegrenzung zu überprüfen. Sie können zum Testen Tools wie ab (ApacheBench) oder wrk verwenden, zum Beispiel: rrreeeDer obige Befehl bedeutet, dass 1000 gleichzeitige Anforderungen gesendet werden, jedes Mal 100 gleichzeitige Anforderungen, und die Zugriffs-URL lautet http://your-domain.com /api/limited . Durch Anzeigen der zurückgegebenen Testergebnisse können Sie die Richtigkeit der Geschwindigkeitsbegrenzungskonfiguration überprüfen. Die oben genannten Schritte sind die Schritte zur Implementierung der Geschwindigkeitsbegrenzungskonfiguration über Nginx. Durch die Definition von Geschwindigkeitsbegrenzungsbereichen und die Anwendung von Geschwindigkeitsbegrenzungsregeln können Sie die Zugriffsgeschwindigkeit von Schnittstellen oder Ressourcen effektiv steuern und die Stabilität und Fairness des Systems aufrechterhalten. Ich hoffe, der obige Inhalt ist hilfreich für Sie!

    Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Nginx-Geschwindigkeitsbegrenzungskonfiguration. 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
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!