默认情况下,无论是fastcgi_pass还是proxy_pass,每个请求都会建立后端服务器建立一个连接,然后关掉,这样带来的问题是:
每个连接都需要新建、关闭连接,tcp将产生大量time_wait
以上问题可以通过nginx与后端服务器建立长连接来解决
建立upstream
upstream fastcgi_backend { server 127.0.0.1:9000; keepalive 60; }
fastcgi_pass长连接
location ~ .*\.php$ { fastcgi_pass fastcgi_backend; fastcgi_keep_conn on; }
proxy_pass长连接
location ~ .*\.php$ { # 清除"Connection"头部 proxy_set_header Connection ""; # 将http版本由1.0修改为1.1 proxy_http_version 1.1; proxy_pass http://backend.server; }