keepalive_timeout
http mempunyai mod keepalive, yang memberitahu pelayan web untuk memastikan sambungan tcp terbuka selepas memproses permintaan. Jika ia menerima permintaan lain daripada klien, pelayan akan menggunakan sambungan tidak tertutup ini tanpa membuat sambungan lain.
http keep-alive, setiap permintaan halaman web ialah http (gambar, css, dll.), dan untuk membuka permintaan http, anda perlu mewujudkan sambungan tcp dahulu, dan jika halaman perlu buka dan tutup permintaan untuk setiap permintaan sambungan TCP akan menyebabkan pembaziran sumber keepalive_timeout ialah masa apabila permintaan HTTP selesai, sambungan TCPnya akan kekal Jika terdapat permintaan HTTP lain pada masa ini, sambungan TCP akan berlaku digunakan semula. Jika tiada permintaan baharu Datang sebelum menutup sambungan tcpnya
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; } } }
# Bahagian konfigurasi: http, lalai 75s
keepalive_timeout 60;
send_timeout: Hantar data kepada pelanggan Pelanggan tamat, lalai ialah 60s Jika pelanggan tidak menerima 1 bait dalam masa 60 saat berturut-turut, sambungan ditutup
proxy_connect_timeout: sambungan tamat antara nginx. dan pelayan huluan
proxy_read_timeout: nginx menerima tamat masa data pelayan huluan, lalai ialah 60s, jika 1 bait tidak diterima dalam masa 60 saat berturut-turut, sambungan ditutup
proxy_send_timeout: nginx menghantar Data ke upstream server timeout, lalai 60s, jika 1 byte tidak dihantar dalam masa 60 saat berturut-turut, sambungan ditutup
so_timeout:
Apabila pengguna dan pelayan mendayakan sambungan tcp --> Sambungan ini tidak mempunyai trafik untuk masa yang lama (jadi_keepalive tamat masa) --> paket pengesanan tidak dikembalikan, tutup sambungan 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.
Hanya satu daripada tiga parameter di atas boleh digunakan dan tidak boleh digunakan pada masa yang sama, seperti so_keepalive=on, so_keepalive=off atau so_keepalive= 30s:: (maksudnya menunggu 30s tanpa paket data untuk menghantar paket pengesanan)
Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi tamat masa Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!