Heim >Betrieb und Instandhaltung >Nginx >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.
http { ... limit_req_zone $binary_remote_addr zone=rate_limit:10m rate=10r/s; ... }
In der obigen Konfiguration wird limit_req_zone
verwendet, um eine Geschwindigkeit zu definieren limit Area, wobei $binary_remote_addr
eine Geschwindigkeitsbegrenzung basierend auf der Client-IP-Adresse bedeutet. Der Parameter zone
gibt den Namen des Geschwindigkeitsbegrenzungsbereichs als rate_limit und 10m bedeutet, dass die Speichergröße des ratenbegrenzten Bereichs 10 MB beträgt und der Parameter <code>rate
angibt, 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个。
server { ... location /api/limited { limit_req zone=rate_limit burst=20 nodelay; ... } ... }
在以上配置中,location
指令表示限速控制应用于路径为/api/limited的URL。limit_req
指令用于设置限速规则,其中zone
参数指定了使用前面定义的限速区域rate_limit,burst
参数表示在超过限速后允许的最大请求数量,nodelay
sudo service nginx reload
location
-Direktive an, dass die Ratenbegrenzungskontrolle auf die URL mit dem Pfad /api angewendet werden soll /beschränkt. Der Befehl limit_req
wird zum Festlegen von Geschwindigkeitsbegrenzungsregeln verwendet. Der Parameter zone
gibt 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 nodelay
gibt an, ob bei Anforderungen, die die Geschwindigkeitsbegrenzung überschreiten, sofort ein Fehler zurückgegeben werden soll. 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/limitedAnschließ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: 🎜rrreee🎜Der 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!