一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - Nginx - Nginx timeout超時配置詳解

Nginx timeout超時配置詳解

2020-03-19 14:57夢想272 Nginx

這篇文章主要介紹了Nginx timeout超時配置詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

最近項目中用到了nginx,后臺用的是Java, 發現有一個請求后臺處理操過了1分鐘,結果請求Status Code為504 Gateway Time-out.

理解了下nginx 所有timeout相關的配置,如下:

keepalive_timeout

HTTP 有一個 KeepAlive 模式,它告訴 webserver 在處理完一個請求后保持這個 TCP 連接的打開狀態。若接收到來自客戶端的其它請求,服務端會利用這個未被關閉的連接,而不需要再建立一個連接。

http keep-alive, 網頁的每一個請求都是HTTP (圖片, CSS等), 而打開HTTP 請求是要先建立TCP 連接, 而如果一個頁面每個請求都要打開及關閉一個TCP 連接就會做成資源的浪費. keepalive_timeout 就是當一個HTTP 請求完成, 其TCP 連接會存留下來的時間, 如果這時有另一個HTTP 請求過來, 會複用這個TCP 連接, 如果再沒有新的請求過來, 才會關閉其TCP連接

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
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;
 }
  }
}

# 配置段: http,默認75s

keepalive_timeout 60;

  • send_timeout :發送數據至客戶端超時, 默認60s, 如果連續的60s內客戶端沒有收到1個字節, 連接關閉
  • proxy_connect_timeout: nginx與upstream server的連接超時時間
  • proxy_read_timeout: nginx接收upstream server數據超時, 默認60s, 如果連續的60s內沒有收到1個字節, 連接關閉
  • proxy_send_timeout: nginx發送數據至upstream server超時, 默認60s, 如果連續的60s內沒有發送1個字節, 連接關閉

so_timeout:

當用戶跟SERVER開啟了TCP CONNECTION --> 一段長時間這個CONNECTION 沒traffic (so_keepalive timeout) --> SERVER 發出探測包看用戶是否還存在 --> 若探測包沒回, 則關閉TCP CONNECTION 

?
1
so_keepalive=on|off|[keepidle]:[keepintvl]:[keepcnt]
?
1
2
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.

以上三個參數只能使用一個,不能同時使用, 比如so_keepalive=on, so_keepalive=off或者so_keepalive=30s::(表示等待30s沒有數據報文發送探測報文)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/chunzhiyan/article/details/103601912

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩欧美视频二区 | 啪一啪在线视频 | 国产自在自拍 | 免费观看在线永久免费xx视频 | 精品无码国产AV一区二区三区 | 娇妻与老头绿文小说系列 | 成人免费视屏 | 欧美视频一区二区专区 | x8x8国产在线观看2021 | 法国女佣系列在线播放 | 四虎国产精品免费入口 | 国产成人啪精品午夜在线播放 | 亚洲AV午夜福利精品香蕉麻豆 | 大香线一本 | 99热这里只有精品一区二区三区 | 国产一二区视频 | 国产免费成人在线视频 | 欧美伦理影院 | 日本男男gayxxxxx免费 | 無码一区中文字幕少妇熟女网站 | 全肉一女n男np高h乳 | 狠狠撸在线影院 | 久久国内精品 | 肥胖女人一级毛片 | 日韩欧美不卡片 | 激情综| 齐天大性之七仙女欲春迅雷链接 | wwwav视频| 香蕉视频在线观看网站 | 妇伦小说| 亚洲国产中文字幕在线视频综合 | 亚洲精品综合网 | 国产精品中文字幕 | 久久er国产精品免费观看2 | 欧美久在线观看在线观看 | 无限资源在线观看完整版免费下载 | 久久99视热频国只有精品 | 国产精品区牛牛影院 | 久久噜国产精品拍拍拍拍 | 四虎影院大全 | 国产喂奶300部 |