Nginx-Netzwerkverbindungskonfigurationselemente sind: 1. Zeitüberschreitung beim Lesen von HTTP-Paketkörpern; 3. Zeitüberschreitung beim Senden von Antworten; 4. Zeitüberschreitungs-Verbindungsoptionen;
Nginx-Netzwerkverbindungskonfigurationselemente sind:
1. Zeitüberschreitung beim Lesen von HTTP-Headern
Syntax:
client_header_timeout time(默认单位:秒);
Standard:
client_header_timeout 60;
Konfigurationsblock: http、server、location
Nachdem der Client eine Verbindung mit dem Server hergestellt hat, beginnt er, HTTP-Header zu empfangen Wenn innerhalb eines Zeitintervalls (Timeout-Zeitraum) keine Bytes vom Client gelesen werden, wird dies als Timeout betrachtet und eine 408-Antwort („Anfragezeitüberschreitung“) wird an den Client zurückgegeben.
Empfohlenes Tutorial: Nginx-Schnellstart-Tutorial
2. Zeitüberschreitung beim Lesen des HTTP-Paketkörpers
Syntax:
client_body_timeout time(默认单位:秒);
Standard:
client_body_timeout 60;
Konfigurationsblock: http、server、location
Dieses Konfigurationselement ähnelt client_header_timeout, außer dass dieses Timeout nur beim Lesen des HTTP-Paketkörpers gültig ist.
3. Zeitüberschreitung beim Senden der Antwort
Syntax:
send_timeout time;
Standard:
send_timeout 60;
Konfigurationsblock: http、server、location
This The Timeout ist das Timeout für das Senden einer Antwort, d. h. der Nginx-Server sendet ein Datenpaket an den Client, der Client empfängt das Datenpaket jedoch nie. Wenn eine Verbindung das durch send_timeout definierte Timeout überschreitet, schließt Nginx die Verbindung.
4. Timeout-Verbindungsoption zurücksetzen
Syntax:
reset_timeout_connection on | off;
Standard:
reset_timeout_connection off;
Konfigurationsblock: http、server、location
Verbindung nach Timeout wird die Verbindung direkt durch Senden eines RST-Pakets an den Client zurückgesetzt. Nachdem diese Option aktiviert wurde, verwendet Nginx nicht den normalen Vier-Wege-Handshake, um die TCP-Verbindung nach einer bestimmten Zeitüberschreitung zu schließen, sondern sendet direkt ein RST-Reset-Paket an den Benutzer Geben Sie die Antwort des Benutzers ein und geben Sie den Nginx-Server direkt für alle von diesem Socket verwendeten Caches frei (z. B. TCP-Schiebefenster). Im Vergleich zur normalen Methode zum Herunterfahren kann der Server dadurch vermeiden, dass in den Zuständen FIN_WAIT_1, FIN_WAIT_2 und TIME_WAIT viele TCP-Verbindungen generiert werden.
Beachten Sie, dass die Verwendung des RST-Reset-Pakets zum Schließen der Verbindung einige Probleme verursachen wird und nicht standardmäßig aktiviert ist.
5, lingering_close
Syntax:
lingering_close off | on | always;
Standard:
lingering_close on;
Konfigurationsblock: http、server、location
Diese Konfiguration steuert Wie Nginx Benutzerverbindungen schließt. bedeutet immer, dass die von allen Benutzern auf der Verbindung gesendeten Daten unbedingt verarbeitet werden müssen, bevor die Benutzerverbindung geschlossen wird. Aus bedeutet, dass es beim Schließen der Verbindung keine Rolle spielt, ob auf der Verbindung bereits Daten vom Benutzer vorhanden sind. on ist ein Zwischenwert. Unter normalen Umständen werden die von Benutzern über die Verbindung gesendeten Daten verarbeitet, bevor die Verbindung geschlossen wird, außer in einigen Fällen, in denen das Unternehmen feststellt, dass die Daten danach unnötig sind.
6, lingering_time
Syntax:
lingering_time time;
Standard:
lingering_time 30s;
Konfigurationsblock: http、server、location
lingering_close ist aktiviert , dieses Konfigurationselement ist nützlich zum Hochladen großer Dateien. Wie oben erwähnt, sendet der Nginx-Dienst sofort eine 413-Antwort (Anforderungsentität zu groß) an den Benutzer, wenn die vom Benutzer angeforderte Inhaltslänge größer als die max_client_body_size-Konfiguration ist. Viele Clients laden den HTTP-Body jedoch möglicherweise weiterhin hoch, unabhängig vom Rückgabewert 413. Zu diesem Zeitpunkt schließt Nginx die Verbindung, nachdem die Einstellung „lingering_time“ abgelaufen ist, unabhängig davon, ob der Benutzer noch hochlädt.
7. lingering_timeout
Syntax:
lingering_timeout time;
Standard:
lingering_timeout 5s;
Konfigurationsblock: http、server、location
lingering_close wird wirksam Vor dem Schließen der Verbindung wird festgestellt, ob vom Benutzer gesendete Daten den Server erreichen. Wenn nach lingering_timeout keine Daten zum Lesen vorhanden sind, wird die Verbindung direkt geschlossen. Andernfalls müssen die Daten im Verbindungspuffer gelesen und verworfen werden . Die Verbindung wird geschlossen.
8. Deaktivieren Sie die Keepalive-Funktion für einige Browser
Syntax:
keepalive_disable [ msie6 | safari | none ]...
Standard:
keepalive_disable msie6 safari
Konfigurationsblock: http、server、location
Die Keepalive-Funktion in HTTP-Anfragen besteht darin, eine lange HTTP-Verbindung für mehrere Anfragen wiederzuverwenden. Diese Funktion ist sehr hilfreich, um die Leistung des Servers zu verbessern. Einige Browser wie IE 6 und Safari haben jedoch Funktionsprobleme bei der Verarbeitung von POST-Anfragen mithilfe der Keepalive-Funktion. Daher ist für IE 6 und seine früheren Versionen die Keepalive-Funktion im Safari-Browser standardmäßig deaktiviert.
8. keepalive
Timeout
Syntax:
keepalive_timeout time(默认单位:秒);
Standard:
keepalive_timeout 75;
Konfigurationsblock: http、server、location
a After Wenn eine Keepalive-Verbindung für einen bestimmten Zeitraum inaktiv war (der Standardwert ist 75 Sekunden), schließen sowohl der Server als auch der Browser die Verbindung. Natürlich wird das Konfigurationselement keepalive_timeout verwendet, um den Nginx-Server einzuschränken. Nginx gibt diese Zeit gemäß den Spezifikationen auch an den Browser weiter, aber jeder Browser verfügt möglicherweise über unterschiedliche Strategien zur Behandlung von Keepalives.
10. Die maximale Anzahl von Anfragen, die auf einer keepalive
langen Verbindung übertragen werden dürfen
Syntax:
keepalive_requests n;
Standard:
keepalive_requests 100;
配置块:http、server、location
一个keepalive连接上默认最多只能发送100个请求。
11、 tcp_nodelay
语法:
tcp_nodelay on | off;
默认:
tcp_nodelay on;
配置块:http、server、location
确定对keepalive连接是否使用TCP_NODELAY选项。
<span style="font-family:Microsoft Yahei, Hiragino Sans GB, Helvetica, Helvetica Neue, 微软雅黑, Tahoma, Arial, sans-serif">12、</span>tcp_nopush
语法:
tcp_nopush on | off;
默认:
tcp_nopush off;
配置块:http、server、location
在打开sendfile选项时,确定是否开启FreeBSD系统上的TCP_NOPUSH
或Linux系统上的TCP_CORK功能。打开tcp_nopush后,将会在发送响应时把整个响应包头放到一个TCP包中发送。
Das obige ist der detaillierte Inhalt vonWas sind die Konfigurationselemente für die Nginx-Netzwerkverbindung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!