what does fastcgi_keep_conn do?

B.R. reallfqq-nginx at yahoo.fr
Sat Mar 21 10:43:17 UTC 2015


'Keep connection' does not mean what you think it means.

That does not tie a client connection to a backend connection. To do that,
you will need stuff like ip_hash
<http://nginx.org/en/docs/http/ngx_http_upstream_module.html#ip_hash> or
more advenced session mechanisms (which are sadly not available in FOSS...
yet?).

Read the docs on fastcgi_keep_conn
<http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_keep_conn>,
which says it ensures the FastCGI connection is not close after being used,
which is the normal way of doing it. Use that in relation with keepalive
<http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive>, as
instructed.

That means that connections to the backend will remain open after being
open, so the next time the webserver addresses to them, they won't need to
open a new connection to them.
---
*B. R.*

On Fri, Mar 20, 2015 at 10:25 PM, nginxuser100 <nginx-forum at nginx.us> wrote:

> Hi, I would like nginx to serve all requests of a given TCP connection to
> the same FCGI server. If a new TCP connection is established, then nginx
> would select the next UDS FCGI server in round-robin fashion.
>
> Can this be achieved with NGINX, and if yes, how?
>
> I thought turning on fastcgi_keep_conn on would achieve this goal, but it
> is
> not what happened. My obervation was that each FCGI server took turn
> receiving a new request even if all the requests are from the same TCP
> connection.
>
> I had:
>
> upstream backend {
>     server unix:/tmp/fastcgi/socket1 ...;
>     server unix:/tmp/fastcgi/socket2 ...;
>     keepalive 32;
> }
>
> server {
>    ...
>    location <uri> {
>         fastcgi_keep_conn on;
>         fastcgi_pass  backend;
> }
>
> Thank you.
>
> Posted at Nginx Forum:
> http://forum.nginx.org/read.php?2,257508,257508#msg-257508
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20150321/bc18329f/attachment.html>


More information about the nginx mailing list