Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So konfigurieren Sie das Nginx-Timeout-Timeout

So konfigurieren Sie das Nginx-Timeout-Timeout

PHPz
PHPznach vorne
2023-05-12 22:07:132094Durchsuche

keepalive_timeout

http verfügt über einen Keepalive-Modus, der den Webserver anweist, die TCP-Verbindung nach der Verarbeitung einer Anfrage offen zu halten. Wenn er andere Anfragen vom Client erhält, verwendet der Server diese nicht geschlossene Verbindung, ohne eine weitere Verbindung aufzubauen.

http Keep-Alive, jede Anfrage der Webseite ist http (Bild, CSS usw.), und um die http-Anfrage zu öffnen, müssen Sie zuerst eine TCP-Verbindung herstellen, und wenn eine Seite geöffnet und geschlossen werden muss, a Bei jeder Anfrage wird eine TCP-Verbindung hergestellt. Dies führt zu einer Ressourcenverschwendung. keepalive_timeout ist die Zeit, in der die TCP-Verbindung bestehen bleibt Kommt keine neue Anfrage, wird die TCP-Verbindung wiederverwendet. Schließen Sie ihre TCP-Verbindung Der Client empfängt innerhalb von 60 aufeinanderfolgenden Sekunden kein 1 Byte, die Verbindung ist geschlossen

proxy_connect_timeout: Verbindungszeitüberschreitung zwischen Nginx und Upstream-Server

  • proxy_read_timeout: Nginx-Zeitüberschreitung für den Empfang von Upstream-Serverdaten, Standard 60 Sekunden, wenn 1 Byte nicht empfangen wird Innerhalb von 60 aufeinanderfolgenden Sekunden wird die Verbindung geschlossen Wenn der Benutzer eine TCP-Verbindung mit dem Server öffnet --> Es gibt über einen längeren Zeitraum keinen Datenverkehr in dieser Verbindung (so_keepalive Timeout) --> > Wenn das Erkennungspaket nicht zurückgegeben wird, schließen Sie die TCP-Verbindung.

    user nginx;
    worker_processes 1;
     
    error_log /var/log/nginx/error.log warn;
    pid    /var/run/nginx.pid;
     
     
    events {
      worker_connections 1024;
    }
     
     
    http {
      include    /etc/nginx/mime.types;
      default_type application/octet-stream;
     
      log_format main '$remote_addr - $remote_user [$time_local] "$request" '
               '$status $body_bytes_sent "$http_referer" '
               '"$http_user_agent" "$http_x_forwarded_for"';
     
      access_log /var/log/nginx/access.log main;
     
      sendfile    on;
      tcp_nopush   on;
      tcp_nodelay on;
     
     
      keepalive_timeout 65;
      client_max_body_size 8192m;
     
      #gzip on;
     
      #include /etc/nginx/conf.d/*.conf;
     
     
     
      server {
     listen 80 so_keepalive=30m::;
     listen 443 default ssl;
     
     ssl_certificate /etc/nginx/ssl/server.crt;
     ssl_certificate_key /etc/nginx/ssl/portalkey.key;
     #ssl_password_file /etc/nginx/ssl/ssl.pass;
     
     
        ssl_session_timeout 5m;
        ssl_protocols sslv2 sslv3 tlsv1;
        ssl_ciphers high:!anull:!md5;
        ssl_prefer_server_ciphers on;
     
     location / {
     proxy_request_buffering off;
     proxy_pass http://127.0.0.1:8011/;
     proxy_connect_timeout    180;
        proxy_send_timeout     180;
        proxy_read_timeout     180;
        send_timeout  180;
     }
     location /test1_url/ {
     proxy_pass http://127.0.0.1:8008/;
     proxy_connect_timeout    180;
        proxy_send_timeout     180;
        proxy_read_timeout     180;
        send_timeout  180;
     }
     location /test2_url/ {
     proxy_pass http://127.0.0.1:3000/;
     proxy_connect_timeout    180;
        proxy_send_timeout     180;
        proxy_read_timeout     180;
        send_timeout  180;
     }
      }
    }
    so_keepalive=on|off|[keepidle]:[keepintvl]:[keepcnt]
  • Nur einer der oben genannten drei Parameter kann verwendet werden, nicht gleichzeitig verwenden, wie z. (d. h. 30 Sekunden ohne Datenpakete warten, um Erkennungspakete zu senden)

Das obige ist der detaillierte Inhalt vonSo konfigurieren Sie das Nginx-Timeout-Timeout. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen