微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

nginx和php-fpm保持长连接

个人学习笔记,谢绝转载!!!

原文:https://www.cnblogs.com/wshenjin/p/15724987.html


upstream PHPfpm {
    server 127.0.0.1:9001;
    keepalive 10;
}

server{
    keepalive_requests 4096;
    location ~ .*\.PHP$
    {
         include fcgi.conf;
         fastcgi_pass PHPfpm;
         fastcgi_index index.PHP;
         expires off;
         fastcgi_keep_conn on;
    }
}

1、upstream中的keepalive设置:
此处keepalive的含义不是开启、关闭长连接的开关;也不是用来设置超时的timeout;更不是设置长连接池最大连接数。官方解释:

  • The connections parameter sets the maximum number of idle keepalive connections to upstream servers connections(设置到upstream服务器的空闲keepalive连接的最大数量

  • When this number is exceeded, the least recently used connections are closed. (当这个数量被突破时,最近使用最少的连接将被关闭

  • It should be particularly noted that the keepalive directive does not limit the total number of connections to upstream servers that an Nginx worker process can open.(特别提醒:keepalive指令不会限制一个Nginx worker进程到upstream服务器连接的总数量

2、keepalive_requests 指令用于设置一个keep-alive连接上可以服务的请求的最大数量。当最大请求数量达到时,连接被关闭认是100。
这个参数的真实含义,是指一个keep alive建立之后,Nginx就会为这个连接设置一个计数器,记录这个keepalive的长连接上已经接收并处理的客户端请求的数量。如果达到这个参数设置的最大值时,则Nginx会强行关闭这个长连接,逼迫客户端不得不重新建立新的长连接。
这里设置和PHP-fpm的pm.max_request一样

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐