Maison >Opération et maintenance >Nginx >Comment configurer le délai d'expiration de Nginx

Comment configurer le délai d'expiration de Nginx

PHPz
PHPzavant
2023-05-12 22:07:132346parcourir

keepalive_timeout

http a un mode keepalive, qui indique au serveur Web de maintenir la connexion TCP ouverte après le traitement d'une requête. S'il reçoit d'autres requêtes du client, le serveur utilisera cette connexion non fermée sans établir une autre connexion.

http keep-alive, chaque requête de page web est http (images, css, etc.), et pour ouvrir une requête http, une connexion TCP doit d'abord être établie, et si une page est ouverte, chaque requête doit être ouverte et la fermeture d'une connexion TCP entraînera un gaspillage de ressources. keepalive_timeout est le temps pendant lequel lorsqu'une requête http est terminée, sa connexion TCP restera. S'il y a une autre requête http à ce moment, la connexion TCP. sera réutilisé s'il n'y a pas de nouveau La connexion TCP sera fermée uniquement lorsqu'une demande arrive

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;
 }
  }
}

# Section Configuration : http, par défaut 75s

keepalive_timeout 60;# 🎜🎜#

    # 🎜🎜#send_timeout : Délai d'expiration pour l'envoi des données au client, la valeur par défaut est de 60 s. Si le client ne reçoit pas 1 octet dans les 60 secondes consécutives, la connexion est fermée
  • .

  • proxy_connect_timeout : Le délai d'expiration de la connexion entre nginx et le serveur en amont
  • proxy_read_timeout : délai d'attente nginx lors de la réception des données du serveur en amont, la valeur par défaut est de 60 s, si 1 octet n'est pas reçu dans les 60 secondes consécutives, connexion fermée
  • proxy_send_timeout : nginx expire lors de l'envoi de données au serveur en amont. La valeur par défaut est de 60 s. Si 1 octet n'est pas envoyé dans les 60 secondes, la connexion est fermée
  • # 🎜 🎜#

    so_timeout:
Lorsque l'utilisateur ouvre une connexion TCP avec le serveur --> Il n'y a pas de trafic dans cette connexion depuis longtemps (so_keepalive timeout) --> Le serveur émet Détecter le paquet pour voir si l'utilisateur existe toujours --> connexion TCP

so_keepalive=on|off|[keepidle]:[keepintvl]:[keepcnt]
so_keepalive=30m::10
  will set the idle timeout (tcp_keepidle) to 30 minutes, leave the probe interval (tcp_keepintvl) at its system default, and set the probes count (tcp_keepcnt) to 10 probes.

Un seul des trois paramètres ci-dessus peut être utilisé et ne peut pas être utilisé en même temps, comme so_keepalive=on, so_keepalive= off ou so_keepalive=30s::(signifie attendre 30s sans paquets de données pour envoyer des paquets de détection)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer